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 :

FOS User: utilisation avec plusieurs entités


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2011
    Messages : 127
    Par défaut FOS User: utilisation avec plusieurs entités
    Bonjour à tous,


    Je cherche à utiliser FOSUser avec plusieurs entités.
    Je m'explique: pour mon projet, mon UserBundle a 3 entités:

    User: où j'ai juste un id et un type.

    Provider: où j'ai des infos plus précises sur ce type de User.
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
     
    <?php
     
    namespace MyProjet\UserBundle\Entity;
     
    use Doctrine\ORM\Mapping as ORM;
    use FOS\UserBundle\Model\User as BaseUser;
     
    /**
     * User
     *
     * @ORM\Table(name="fos_user")
     * @ORM\Entity(repositoryClass="Isl\UserBundle\Entity\UserRepository")
     */
    class User extends BaseUser
    {
     
        /**
         * @var integer
         *
         * @ORM\Column(name="id", type="integer")
         * @ORM\Id
         * @ORM\GeneratedValue(strategy="AUTO")
         */
        protected $id;
     
        /**
         * @var string
         *
         * @ORM\Column(name="type", type="string", length=255)
         */
        protected $type;
     
        /**
         * @var string
         *
         * @ORM\OneToOne(targetEntity="MyProjet\UserBundle\Entity\Provider", cascade={"persist"})
         */
        private $userId;
     
     
        /**
         * Get id
         *
         * @return integer 
         */
        public function getId() {
            return $this->id;
        }
     
        /**
         * Set type
         *
         * @param string $type
         * @return User
         */
        public function setType($type) {
            $this->type = $type;
     
            return $this;
        }
     
        /**
         * Get type
         *
         * @return string 
         */
        public function getType() {
            return $this->type;
        }
     
        public function getExpiresAt() {
            return $this->expiresAt;
        }
     
        public function getCredentialsExpireAt() {
            return $this->credentialsExpireAt;
        }
     
     
        /**
         * Set userId
         *
         * @param \MyProjet\UserBundle\Entity\Provider $userId
         * @return User
         */
        public function setUserId(\MyProjet\UserBundle\Entity\Provider $userId = null)
        {
            $this->userId = $userId;
     
            return $this;
        }
     
        /**
         * Get userId
         *
         * @return \MyProjet\UserBundle\Entity\Provider 
         */
        public function getUserId()
        {
            return $this->userId;
        }
    }
    Client: qui fonctionne sur le même principe que l'entité Provider, et donne des infos sur le type de user "client".

    J'essaye de mettre en place une gestion utilisateurs avec FOS.
    Actuellement, l'inscription, la connexion et la déconnexion fonctionnent: quand je m'inscris, j'indique juste quelques champs (username, password, email et type de user).

    Là où je bug, c'est en ce qui concerne la modification de profile: je pense utiliser la gestion de profil telle qu'elle est réalisée dans FOS, mais je ne sais pas trop comment m'y prendre pour que dans la modification de profil, l'internaute puisse entrer les informations qui ont attrait à son type de user, et prenne donc en compte les attributs soit de l'entité Provider, soit de l'entité Client, et ce en fonction du type de user qu'il a choisit dans son inscription.
    Comment gérer la surcharge des formulaires?

    J'espère m'être bien fait comprendre, par facile d'expliquer tout cela ;-)

    Bonne soirée à vous toutes et tous, et d'avance merci pour votre aide!

  2. #2
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut
    avec ce bundle PUGXMultiUserBundle , il se base sur FosUser pour faire du multi user.
    tu trouvera peut être bonheur avec ça !

  3. #3
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Avril 2011
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2011
    Messages : 127
    Par défaut
    Je suis assez étonnée que cela ne soit pas possible avec le FOSUser de base, mais je ne connaissais pas PUGXMultiUserBundle, qui semble faire exactement ce que je souhaite

    Merci pour votre aide!

Discussions similaires

  1. [2.x] [FosUserBundle] Utilisation avec plusieurs bases de données
    Par fabienlege dans le forum Symfony
    Réponses: 1
    Dernier message: 18/01/2013, 11h17
  2. [Débutant] [quad] utilisation avec plusieurs variables
    Par thomMonteillet dans le forum MATLAB
    Réponses: 4
    Dernier message: 18/11/2012, 15h40
  3. [2.x] Fomulaires avec plusieurs entitées liées
    Par hassentizi dans le forum Symfony
    Réponses: 2
    Dernier message: 01/03/2012, 13h45
  4. Réponses: 0
    Dernier message: 12/09/2008, 17h12
  5. Application utilisable avec plusieurs SGBD - ADO ou DBX ?
    Par RamDevTeam dans le forum Bases de données
    Réponses: 5
    Dernier message: 30/12/2004, 08h25

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