IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Infos sur l'admin generator


Sujet :

Symfony PHP

  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 546
    Par défaut Infos sur l'admin generator
    Bonjour,

    Auriez-vous des infos, des tutos, des exemples sur l'admin generator...
    J'ai regardé là : http://www.symfony-project.org/refer...dmin-Generator
    mais bon je trouve pas ce que je veux...
    Je vous explique au cas où :
    Par défaut, l'admin generator du plugin me permet bien de gérer mon user et les relations groups et permissions qui y sont liées.
    Dans mon cas, j'ai ajouté une classe Profile au sfGuardUser. Du coup j'ai regenerer un admin generator, qui remplace celui du plugin et qui me prends bien en compte ma classe profile
    Mais du coup je n'ai plus de quoi gérer les relations group et permission...
    qu'à cela ne tienne, je regarde dans le generator.yml du plugin et je modifie le mien ! Donc j'arrive à gérer mes relation group et permission mais pas mon profile il me dit qu'il y a des erreurs....
    Voici le generator.yml du plugin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    generator:
      class: sfPropelGenerator
      param:
        model_class:           sfGuardUser
        theme:                 admin
        non_verbose_templates: true
        with_show:             false
        singular:              ~
        plural:                ~
        route_prefix:          sf_guard_user
        with_propel_route:     1
     
        config:
          fields:
            password_again: { label: "Password (again)" }
     
          list:
            title:   User list
            display: [=username, created_at, last_login]
     
          form:
            class: sfGuardUserAdminForm
            display:
              "NONE":                   [username, password, password_again]
              "Permissions and groups": [is_active, is_super_admin, sf_guard_user_group_list, sf_guard_user_permission_list]
     
          edit:
            title: Editing User "%%username%%"
     
          new:
            title: New User
    Et le mien modifié :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    generator:
      class: sfPropelGenerator
      param:
        model_class:           sfGuardUser
        theme:                 admin
        non_verbose_templates: true
        with_show:             false
        singular:              sfGuardUser
        plural:                sfGuardUsers
        route_prefix:          sf_guard_user_sfGuardUser
        with_propel_route:     1
        actions_base_class:    sfActions
     
        config:
          actions: ~
          fields:  ~
          list:    ~
          filter:  ~
          form:    
            class: sfGuardUserAdminForm
            display:
              "NONE":                   [username, password, password_again]
              "Permissions and groups": [is_active, is_super_admin, sf_guard_user_group_list, sf_guard_user_permission_list]
     
            class: sfGuardUserProfile
            display:
              "Profil":                 [sf_guard_user_profile_name, sf_guard_user_firstname, sf_guard_user_email, sf_guard_user_email_notify]
     
          edit:    ~
          new:     ~
    Merci de votre aide !

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Citation Envoyé par jejeman Voir le message
    B... il me dit qu'il y a des erreurs....
    Serte, mais quels sont elles

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 546
    Par défaut
    Ooops...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Edit SfGuardUser
    Catchable fatal error: Argument 1 passed to use_stylesheets_for_form() must be an instance of sfForm, instance of sfOutputEscaperObjectDecorator given, called in /var/www/dev/ogi2/cache/backend/dev/modules/autoSfGuardUser/templates/_form.php on line 1 and defined in /usr/local/symfony/symfony1.4/lib/helper/AssetHelper.php on line 701

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Je ne suis absolument pas sur (mais je peux me tromper) qu'il soit possible d'avoir dans la section form: deux paramètres class et deux section display.

    Vu la manière dont le yaml est parsé (sans parler de l'utilisation du fichier generator.yml par symfony) je ne pense pas que cela soit réalisable.

    Comment as-tu définis ta classe profil dans ton shema.yml ?

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 546
    Par défaut
    Voici dans le model :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    ######
    # Customize the sfGuardUser Model
    ########
     
      # Ajout d'un profile
       sf_guard_user_profile:
          _attributes: { phpName: sfGuardUserProfile }
          id:
          user_id:     { type: integer, foreignTable: sf_guard_user, foreignReference: id, required: true, onDelete: cascade }
          name:  varchar(128)
          firstname:   varchar(128)
          email:    varchar(250)
          email_notify: integer
    Aurais-tu une doc qui explique toutes les possibilités du generator.yml, pour que je comprenne mieux comment on peut customizer tout ça...

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 396
    Par défaut
    De mon point de vue, j'aurais tendance à faire un formulaire qui merge les deux.

    D'autre part :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class: sfGuardUserProfile
    Tu n'es pas censé lui passer un nom de classe de formulaire ? (comme plus haut tu le fais pour class: sfGuardUserAdminForm)

  7. #7
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 546
    Par défaut
    Mon souci il est là...
    Je ne sais pas trop ce que je peux mettre ou pas dans le fichier de conf...
    C'est pourquoi je recherche un doc...
    Citation Envoyé par bilbonec
    Tu n'es pas censé lui passer un nom de classe de formulaire ? (comme plus haut tu le fais pour class: sfGuardUserAdminForm)
    Ben justement je pense...
    Du coup je peux refaire un form qui merge les 2 dans lib/form ?
    Même si une de mes form est dans le plugin ?
    Merci.

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 396
    Par défaut
    Je ne suis pas sûr de comprendre :
    Même si un de mes form est dans le plugin ?
    Sinon, oui. Faire un formulaire sfGuardUserAdminForm dans lequel tu lui merges un sfGuardUserProfileForm.

    C'est pourquoi je recherche un doc...
    Moi aussi !!
    Il y a bien celle du site (comme tu l'indiques), mais c'est vrai que l'admin-generator offre bien plus de possibilités que ce qu'il y a marqué dans la doc ...

  9. #9
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 546
    Par défaut
    Alors question subsidiaire...
    Comment on merge 2 form ?
    Je copie/colle le contenu des 2 dans un 3eme ou on peut faire un new quelque part ?
    Je vois pas trop comment ça va s'imbriquer ça...
    Merci !

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 396
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      /**
       * Merges current form widget and validator schemas with the ones from the
       * sfForm object passed as parameter. Please note it also merge defaults.
       *
       * @param  sfForm   $form      The sfForm instance to merge with current form
       *
       * @throws LogicException      If one of the form has already been bound
       */
      public function mergeForm(sfForm $form)
    (cf. sfForm)

    Du coup, quand tu es dans ton formulaire, un simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->mergeForm([sfForm]object)
    Il y a eu un post sur les différences entre mergeForm et embedForm il y a quelques jours, si besoin.

  11. #11
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Question subsidiaire : Doctrine ou Propel ?

  12. #12
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 546
    Par défaut
    Propel !
    Aaaahhhhh !!! Ca ménerve....
    Je reprends tout depuis le début, parfois ca permet aussi d'y voir plus clair...
    J'ai installé le plugin sfGuardUser
    Dedans il n'y a pas de gestion de "profil" du coup dans mon schéma, j'ai créé une classe sfGuardUserProfile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    ######
    # Customize the sfGuardUser Model
    ########
     
      # Ajout d'un profile
       sf_guard_user_profile:
          _attributes: { phpName: sfGuardUserProfile }
          id:
          user_id:     { type: integer, foreignTable: sf_guard_user, foreignReference: id, required: true, onDelete: cascade }
          name:  varchar(128)
          firstname:   varchar(128)
          email:    varchar(250)
          email_notify: integer
    Pour gérer mes utilisateurs, j'utilise le module sfGuardUser du plugin qui me permet d'éditer un utilisateur et surtout de gérer les relations avec permission et groupe. Par contre, il ne permet pas de gérer les infos du profil, normal, je les ai rajoutées après et donc sont inconnu du plugin.
    Donc je décide de regénérer avec l'admingenerator un module sfGuardUser qui remplace celui du plugin dans mon backend pour gérer mes utilisateurs comme il faut.
    Dans ce nouveau module, je peux maintenant correctement éditer mes utilisateurs et la nouvelle relation avec le profil. Par contre, les relations group et permissions ont disparues !!
    Du coup je me suis dit qu'il fallait que je modifie le generator.yml que je viens de générer pour mon sfGuardUser de mon appli afin de faire apparaitre les groupes et permissions en plus du profil !
    Et là je bloque !!! Comment faire ?
    Merci de votre aide...

  13. #13
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Il me semble que tu utilises propel comme ORM plutôt que doctrine.

    Est-ce correcte ?

    Y a-t-il une raison impérieuse de travailler avec cet ORM en particulier ?

  14. #14
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 546
    Par défaut
    Disons que je connais mieux propel et que le projet est déjà commencé avec... (je reprends la suite...)

  15. #15
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Je comprend le choix d'ORM.

    Le fonctionnement des héritages de tables et de interaction qui s'en suivent entre les objets d'origines et les objets hérité sont fortement différent entre les deux.

    Je vois très bien comment le mettre en œuvre facilement avec doctrine, hélas, mais compétences en propel sont trop loin et trop légères que pour pouvoir donner un avis pertinent, j'en suis désolé. Je me retire (même si je continue à zieuter !)

  16. #16
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 546
    Par défaut
    On s'éloigne un peu du sujet...
    Du coup je crée un nouveau sujet : http://www.developpez.net/forums/d98...erator-normal/

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/10/2011, 11h52
  2. Réponses: 9
    Dernier message: 10/02/2011, 10h25
  3. [1.x] Admin generator, filtre sur clé étrangère
    Par DevForFun dans le forum Symfony
    Réponses: 1
    Dernier message: 23/12/2010, 17h27
  4. [Doctrine] Admin generator tri sur un partial field
    Par espaceVirtuel dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 04/08/2009, 14h58
  5. [CR] Infos sur l'utilisation de dll
    Par step dans le forum SAP Crystal Reports
    Réponses: 11
    Dernier message: 09/08/2002, 11h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo