Bonjour,

Mon projet est en SF 2.6 et j'utilise FosUserBundle. Dans le FormType utilisé pour l'édition du user géré par Fos, j'aimerais récupérer l'entité courante du formulaire (le "User"), accessible normalement depuis $options['data'] ou via $event->getData(); dans un FormEvent.

Si je crée mon formulaire en utilisant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$form = $this->createForm('app_user', $user);
pas de soucis, je retrouve bien mon objet de classe User.

Par contre en passant par les controllers par défaut de Fos (ProfileController), ça ne marche pas et $options['data'] n'existe pas ou, en passant par les events, ->getData() me retourne null.
En regardant le code de ProfileController, je vois qu'ils initialisent le formulaire en faisant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
$form = $formFactory->createForm();
$form->setData($user);
Je suppose que c'est parce que le setData() est fait après la création du form que je n'arrive pas à retrouver mon User (même avec un POST_SET_DATA ou encore un $builder->getData()...).

Est-ce-que quelqu'un aurait une idée ? Je pourrais overrider tous le controller et utiliser $this->createForm('app_user', $user); mais c'est vraiment beaucoup de duplication de code pour rien et j'ai peur de passer à côté de quelque chose...

Merci,