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 :

[FosUserBundle] Création de rôles pendant l'enregistrement [2.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 22
    Par défaut [FosUserBundle] Création de rôles pendant l'enregistrement
    Bien le bonjour.
    Je développe une application avec plusieurs types d'utilisateurs, que je gère a l'aide des roles (admin, partenaire, client,...). La création de chaque type d'utilisateur utilise un formulaire (twig) différent, mais le même RegistrationFormType. Ce que je veux, c'est pouvoir utiliser dans chaque formulaire,un champ hidden pour le role, avec comme valeur prédéfinie le role de l'utilisateur en question.
    Mon problème, est que je ne sais pas comment enregistrer une valeur par defaut dans un formulaire twig; et étant donné que role est de type array et pas string comment je peux faire l'affectation?
    Merci

  2. #2
    Membre éprouvé Avatar de Avrel
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2010
    Messages : 118
    Par défaut
    Je suppose que l'action qui recupère chaque formulaire est différente.

    Si c'est bien le cas, tu as juste a faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $user->addRole('ROLE_CLIENT');
    avant de sauvegarder ton utilisateur

  3. #3
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 22
    Par défaut
    Merci Avrel.
    En fait, je n'ai pas "overrider" le controller. La persistance est donc gérer par le controller de FOSUSER. C'est pour ça que je veux faire ça dans twig. En html simple, on aurait eu quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="role" type="hidden" value="ROLE_USER" />
    EDIT:
    EDIT: Bonjour!J'ai en fin de compte fait un override de RegistrationFormHandler, notamment la méthode process, ce qui me donne quelque chose comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    -----
        public function process($confirmation = false)
        {
            $user = $this->userManager->createUser();
            $this->form->setData($user);
            $user->addRole('ROLE_CLIENT');
            if ('POST' == $this->request->getMethod()) {
                $this->form->bindRequest($this->request);
    -----
    Ça résout parfaitement mon problème. Merci à tous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 25/10/2009, 23h11
  2. [Pb Création de Rôles] Besoin d'aide script
    Par Tgaud dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 31/07/2008, 15h25
  3. Création de rôles
    Par wellknown dans le forum SQL
    Réponses: 1
    Dernier message: 30/05/2008, 23h22
  4. Création un alias pendant une installation PackageMaker
    Par W-coyo dans le forum Développement OS X
    Réponses: 2
    Dernier message: 22/02/2008, 10h36

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