src/Form/UserType.php line 16

  1. <?php
  2. namespace App\Form;
  3. use App\Entity\User;
  4. use Symfony\Component\Form\AbstractType;
  5. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  6. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  7. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  8. use Symfony\Component\Form\Extension\Core\Type\PasswordType;
  9. use Symfony\Component\Form\Extension\Core\Type\TelType;
  10. use Symfony\Component\Form\Extension\Core\Type\TextType;
  11. use Symfony\Component\Form\FormBuilderInterface;
  12. use Symfony\Component\OptionsResolver\OptionsResolver;
  13. class UserType extends AbstractType
  14. {
  15.     public function buildForm(FormBuilderInterface $builder, array $options)
  16.     {
  17.         $builder
  18.             ->add('email'EmailType::class, [
  19.                 'label' =>  'product.form.email',
  20.             ])
  21.             ->add('plainPassword'PasswordType::class, [
  22.                 'label' =>  'product.form.plainPassword',
  23.                 'mapped' => false,
  24.                 'required' => true,
  25.             ])
  26.             ->add('repeatPassword'PasswordType::class, [
  27.                 'label' =>  'product.form.repeatPassword',
  28.                 'mapped' => false,
  29.                 'required' => false,
  30.             ])
  31.             ->add('firstname'TextType::class, [
  32.                 'label' =>  'product.form.firstname',
  33.                 'required' => false,
  34.             ])
  35.             ->add('lastname'TextType::class, [
  36.                 'label' =>  'product.form.lastname',
  37.                 'required' => false,
  38.             ])
  39.             ->add('phone'TelType::class, [
  40.                 'label' =>  'product.form.phone',
  41.                 'required' => false,
  42.                 'mapped' => false
  43.             ])
  44.             ->add('country'ChoiceType::class, [
  45.                 'label' =>  'product.form.country',
  46.                 'choices' => [
  47.                     "Allemagne" => 1,
  48.                     "Andorra" => 40,
  49.                     "Autriche" => 2,
  50.                     "Belgique" => 3,
  51.                     "Bulgarie" => 236,
  52.                     "Chypre" => 76,
  53.                     "Danemark" => 20,
  54.                     "Espagne" => 6,
  55.                     "Estonie" => 86,
  56.                     "Finlande" => 7,
  57.                     "France" => 8,
  58.                     "Grèce" => 9,
  59.                     "Guadeloupe" => 98,
  60.                     "Guyane Française" => 241,
  61.                     "Hongrie" => 143,
  62.                     "Irlande" => 26,
  63.                     "Italie" => 10,
  64.                     "La Réunion" => 176,
  65.                     "Lettonie" => 125,
  66.                     "Lituanie" => 131,
  67.                     "Luxembourg" => 12,
  68.                     "Malte" => 139,
  69.                     "Martinique" => 141,
  70.                     "Mayotte" => 144,
  71.                     "Nouvelle-Calédonie" => 158,
  72.                     "Pays-Bas" => 13,
  73.                     "Pologne" => 14,
  74.                     "Polynésie Française" => 242,
  75.                     "Portugal" => 15,
  76.                     "République Tchèque" => 16,
  77.                     "Roumanie" => 36,
  78.                     "Royaume-Uni" => 17,
  79.                     "Slovaquie" => 37,
  80.                     "Slovénie" => 193,
  81.                     "Suède" => 18,
  82.                     "Switzerland" => 19
  83.                 ],
  84.                 'data' => '8',
  85.                 'mapped' => false
  86.             ])
  87.             ->add('streetAddress'TextType::class, [
  88.                 'label' =>  'product.form.address',
  89.                 'mapped' => false,
  90.             ])
  91.             ->add('city'TextType::class, [
  92.                 'label' =>  'product.form.city',
  93.                 'mapped' => false,
  94.             ])
  95.             ->add('postcode'TextType::class, [
  96.                 'label' =>  'product.form.postcode',
  97.                 'mapped' => false,
  98.             ])
  99.             ->add('conditions'CheckboxType::class, [
  100.                 'label' => 'product.form.conditions',
  101.                 'required' => true,
  102.                 'mapped' => false
  103.             ])
  104.         ;
  105.     }
  106.     public function configureOptions(OptionsResolver $resolver)
  107.     {
  108.         $resolver->setDefaults([
  109.             'data_class' => User::class,
  110.         ]);
  111.     }
  112. }