UserType.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. namespace App\Form;
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
  5. use Symfony\Component\Form\Extension\Core\Type\TextType;
  6. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  7. use Symfony\Component\Form\Extension\Core\Type\PasswordType;
  8. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  9. use Symfony\Component\Form\FormBuilderInterface;
  10. use Symfony\Component\OptionsResolver\OptionsResolver;
  11. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  12. use Symfony\Component\Security\Core\User\UserInterface;
  13. class UserType extends AbstractType
  14. {
  15. /**
  16. * {@inheritdoc}
  17. */
  18. public function buildForm(FormBuilderInterface $builder, array $options)
  19. {
  20. $builder
  21. ->add('username', TextType::class)
  22. ->add('password', RepeatedType::class, array(
  23. 'type' => PasswordType::class,
  24. 'first_options' => array('label' => 'Mot de passe'),
  25. 'second_options'=> array('label' => 'Répéter le mot de passe'),
  26. 'invalid_message' => 'Les mots de passe ne correspondent pas'
  27. ))
  28. ->add('prenom', TextType::class, array(
  29. 'required' => false
  30. ))
  31. ->add('nom', TextType::class, array(
  32. 'required' => false
  33. ))
  34. ->add('mail', EmailType::class)
  35. ->add('roles', ChoiceType::class, array(
  36. 'choices' => array (
  37. 'Administrateur' => 'ROLE_ADMIN',
  38. 'User' => 'ROLE_USER',
  39. 'Modérateur' => 'ROLE_MODERATEUR',
  40. 'Super Admin' => 'ROLE_SUPER_ADMIN'
  41. ),
  42. 'multiple' => true
  43. ))
  44. ->add('activated', ChoiceType::class, array(
  45. 'label' => 'Compte activé',
  46. 'choices' => array(
  47. 'Oui' => true,
  48. 'Non' => false
  49. )
  50. ))
  51. ->add('save', SubmitType::class, array('label' => 'Enregistrer'));
  52. }
  53. /**
  54. * {@inheritdoc}
  55. */
  56. public function configureOptions(OptionsResolver $resolver)
  57. {
  58. $resolver->setDefaults(array(
  59. 'data_class' => 'App\Entity\User'
  60. ));
  61. }
  62. /**
  63. * {@inheritdoc}
  64. */
  65. public function getBlockPrefix()
  66. {
  67. return 'App_user';
  68. }
  69. }