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 :

Affiche le formulaire d'inscription en fonction du type d'utilisateur avec FosUserBundle 2.xx


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Chef département informatique
    Inscrit en
    Janvier 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Bénin

    Informations professionnelles :
    Activité : Chef département informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 8
    Par défaut Affiche le formulaire d'inscription en fonction du type d'utilisateur avec FosUserBundle 2.xx
    Bonjour mes amis;
    Actuellement j'ai un souci dans le développement de mon application.
    J'ai deux type d'utilisateurs : candidats et donateurs ces deux types d'utilisateurs doivent s'inscrire sur le site avant toute action.
    le hic les informations demandées au candidats lors de l'inscription est differents des informations demandées au donateurs.
    Juste apres la fin l'inscription j'aimerais sauvergarde les donnees entres dans un autre table en plus celle par defaut de fosuserubundle. c'est-a-dire j'enresgiste les informatiions entrees par le donateur dans une ta
    Comment gérer cela avec fosuserBundle?

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Par défaut
    Bonjour ,
    pour la première partie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $form = $this->createForm(new MyType(), $user, ['role' => $this->getUser()->getRoles()]);
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    class MyType extends AbstractType 
    {
        /**
         * @param OptionsResolver $resolver
         */
        public function configureOptions(OptionsResolver $resolver)
        {
            $resolver->setDefaults(array(
                'data_class' => 'AppBundle\Entity\User',
                'validation_groups' => ['create'],
                'role' => ['ROLE_USER']
            ));
        }
     
        /**
         * @param FormBuilderInterface $builder
         * @param array $options
         */
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            // dump($options['roles']);
            if (in_array('ROLE_ADMIN', $options['role'])) {
                // do as you want if admin
                $builder
                    ->add('name', 'text');
            } else {
                $builder
                    ->add('supername', 'text');
            }
        }
     
        /**
         * @return string
         */
        public function getName()
        {
            return 'appbundle_my_form';
        }
     
    }
    c'est la façon la plus adéquate à mon avis.

    Pour la deuxième partie, pense e à utiliser un event listener doctrine qui s'occupe de l'enregistrement en plus de l'enregistrement dans la table user

  3. #3
    Membre habitué
    Profil pro
    Chef département informatique
    Inscrit en
    Janvier 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Bénin

    Informations professionnelles :
    Activité : Chef département informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 8
    Par défaut
    Merci je vais essayer

  4. #4
    Membre habitué
    Profil pro
    Chef département informatique
    Inscrit en
    Janvier 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Bénin

    Informations professionnelles :
    Activité : Chef département informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 8
    Par défaut
    [QUOTE=MehrezLabidi;10049761]Bonjour ,
    pour la première partie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $form = $this->createForm(new MyType(), $user, ['role' => $this->getUser()->getRoles()]);
    Excuse moi la question peut paraître bête mais ou es ce que j’insère le code ci

Discussions similaires

  1. Afficher un formulaire suivant le LVL et le type
    Par Breizhmorph dans le forum Mise en page CSS
    Réponses: 14
    Dernier message: 26/06/2017, 17h10
  2. afficher les menu d'un mdi selon le type d'utilisateur
    Par agnaou dans le forum Windows Forms
    Réponses: 7
    Dernier message: 19/06/2009, 13h08
  3. [Débutant] afficher une question et en obtenir la réponse de l'utilisateur avec un GUI
    Par Angel30 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 19/05/2009, 10h36
  4. afficher champs formulaire en fonction d'un bouton radio
    Par pod1978 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 02/04/2009, 12h50
  5. Afficher un formulaire en fonction d'une var
    Par noratec dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/07/2007, 14h55

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