src/Form/SubscribeFormType.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  5. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  6. use Symfony\Component\Form\Extension\Core\Type\FileType;
  7. use Symfony\Component\Form\Extension\Core\Type\HiddenType;
  8. use Symfony\Component\Form\Extension\Core\Type\PasswordType;
  9. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  10. use Symfony\Component\Form\Extension\Core\Type\TextType;
  11. use Symfony\Component\Form\FormBuilderInterface;
  12. use Symfony\Component\OptionsResolver\OptionsResolver;
  13. class SubscribeFormType extends AbstractType
  14. {
  15.     public function buildForm(FormBuilderInterface $builder, array $options): void
  16.     {
  17.         $builder
  18.             ->add('file', FileType::class, array('required' => false))
  19.             ->add('nomprenom')
  20.             ->add('nomagence')
  21.             ->add('adresse', TextType::class, [
  22.                 'required' => false
  23.             ])
  24.             ->add('fonction', TextType::class, [
  25.                 'required' => false
  26.             ])
  27.             ->add('categorie')
  28.             ->add('email', EmailType::class)
  29.             ->add('tel')
  30.             ->add('fax')
  31.             ->add('tel2', TextType::class, [
  32.                 'required' => false
  33.             ])
  34.             ->add('registre', TextType::class, [
  35.                 'required' => false
  36.             ])
  37.             ->add('emailAgence', TextType::class, [
  38.                 'required' => false
  39.             ])
  40.             ->add('ville')
  41.             ->add('pays', ChoiceType::class, [
  42.                 'choices' => $options['pays'],
  43.                 'required' => true,
  44.                 'data' => $options['nationalite']
  45.             ])
  46.             ->add('matriculeFiscale')
  47.             ->add('localite')
  48.             ->add('codePostal')
  49.             ->add('licence')
  50.             ->add('iata')
  51.             ->add('login', TextType::class)
  52.             ->add('password', PasswordType::class, [
  53.                 'attr' => [
  54.                     'autocomplete' => 'off'
  55.                 ]
  56.             ])
  57.             ->add('confirmpass', PasswordType::class)
  58.             ->add('type', HiddenType::class, array(
  59.                 'data' => 6
  60.             ))
  61.             ->add('langue', ChoiceType::class, array(
  62.                 'required' => true,
  63.                 'choices' => array(
  64.                     'Français' => "Français",
  65.                     'English' => "English",
  66.                     'Espagnole' => "Espagnole",
  67.                 )
  68.             ))
  69.             ->add('devise', ChoiceType::class, array(
  70.                 'required' => true,
  71.                 'choices' => array(
  72.                     'Dinars Tunisien' => "Dinars Tunisien",
  73.                     'Baht thaïlandais' => "Baht thaïlandais",
  74.                     'Dinars Algérien' => "Dinars Algérien",
  75.                     'Dollars' => "Dollars",
  76.                     'EURO' => "EURO",
  77.                     'GBP' => "GBP",
  78.                     'PDS' => "PDS"
  79.                 )
  80.             ))
  81.             ->add('message', TextareaType::class, array(
  82.                 'required' => false
  83.             ))
  84.             ->add('pattente', TextType::class, [
  85.                 'required' => false
  86.             ]);
  87.     }
  88.     public function configureOptions(OptionsResolver $resolver): void
  89.     {
  90.         $resolver->setDefaults([
  91.             'pays' => [],
  92.             'nationalite' => null
  93.         ]);
  94.     }
  95. }