src/Form/RegistrationsType.php line 13

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use App\Entity\Registrations;
  4. use App\Repository\FormationsRepository;
  5. use Symfony\Component\Form\AbstractType;
  6. use Symfony\Component\Form\FormBuilderInterface;
  7. use Symfony\Component\OptionsResolver\OptionsResolver;
  8. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  9. use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  10. class RegistrationsType extends AbstractType
  11. {
  12.     public function buildForm(FormBuilderInterface $builder, array $options): void
  13.     {
  14.         $builder
  15.             ->add('sex'ChoiceType::class, [
  16.                 'choices'=>[
  17.                     'Monsieur'=>true,
  18.                     'Madame'=>false
  19.                 ]
  20.             ])
  21.             ->add('fname')
  22.             ->add('lname')
  23.             ->add('phone')
  24.             ->add('email')
  25.             ->add('profession',EntityType::class, array('label' => 'Poste occupé :',
  26.                                                     'class' => 'App:RegistrationsProfessions',
  27.                                                     'choice_label' => 'label',
  28.                                                     'multiple' => false'expanded' => false))
  29.             ->add('company',EntityType::class, array('label' => 'Type de structure :',
  30.                                                     'class' => 'App:RegistrationsCompaniesTypes',
  31.                                                     'choice_label' => 'label',
  32.                                                     'multiple' => false'expanded' => false))
  33.             ->add('formation',EntityType::class, array('label' => 'Formation :',
  34.                 'class' => 'App:Formations',
  35.                 'choice_label' => 'label',
  36.                 'multiple' => false'expanded' => false,
  37.                 'placeholder' => 'Sélectionner une formation',
  38.                 'query_builder' => function (FormationsRepository $er) {
  39.                 return $er->createQueryBuilder('f')
  40.                     ->where('f.hasRegistration = 1 and f.isEnabled = 1');
  41.                 },
  42.             ),)
  43.             ->add('session',EntityType::class, array('label' => 'Session :',
  44.                 'class' => 'App:FormationsSessions',
  45.                 'choice_label' => 'label',
  46.                 'multiple' => false'expanded' => false,
  47.                 'placeholder' => 'Sélectionner une session',
  48.                 'query_builder' => function (\App\Repository\FormationsSessionsRepository $er) {
  49.                 return $er->createQueryBuilder('f')
  50.                     ->where('f.isEnabled = 1 and f.startingDate > current_date()');
  51.                 },
  52.             ),)
  53.             ->add('thematics',EntityType::class, array('label' => 'Thématiques :',
  54.                 'class' => 'App:FormationsThematics',
  55.                 'choice_label' => 'label',
  56.                 'multiple' => true'expanded' => true,
  57.                 'attr'=>['data-ref'=>'ooo'])
  58.             )
  59.         ;
  60.     }
  61.     public function configureOptions(OptionsResolver $resolver): void
  62.     {
  63.         $resolver->setDefaults([
  64.             'data_class' => Registrations::class,
  65.         ]);
  66.     }
  67. }