src/Form/MembreInscriptionType.php line 48

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use App\Entity\Membre;
  4. use App\Entity\Commune;
  5. use App\Entity\Federation;
  6. use Symfony\Component\Form\AbstractType;
  7. use Symfony\Component\Form\FormBuilderInterface;
  8. use Symfony\Component\OptionsResolver\OptionsResolver;
  9. use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  10. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  11. use Symfony\Component\Form\Extension\Core\Type\BirthdayType;
  12. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  13. use Symfony\Component\Form\Extension\Core\Type\PasswordType;
  14. use Symfony\Component\Form\Extension\Core\Type\TextType;
  15. use Doctrine\ORM\EntityRepository;
  16. class MembreInscriptionType extends AbstractType
  17. {
  18.     public function buildForm(FormBuilderInterface $builder, array $options): void
  19.     {
  20.         $builder
  21.         ->add('federation'EntityType::Class, [
  22.             'class' => Federation::Class, 
  23.             'query_builder' => function (EntityRepository $er) use ($options) {
  24.                 return $er->createQueryBuilder('f')
  25.                     ->where('f.province = :province')
  26.                     ->setParameter('province'$options['province'])
  27.                     ->orderBy('f.nom''ASC');
  28.             },
  29.             
  30.             'label' => 'Fédération''required' => true,  'choice_label' => function ($federation) { return  $federation->getNom() ;}])
  31.             ->add('commune2'EntityType::Class, [
  32.                 'class' => Commune::Class, 
  33.     
  34.                 'query_builder' => function (EntityRepository $er) use ($options)  {
  35.                     return $er->createQueryBuilder('c')
  36.                         ->where('c.province = :province')
  37.                         ->setParameter('province'$options['province'])
  38.                         ->orderBy('c.nom''ASC');
  39.                 },
  40.             'label' => 'Commune''required' => true'mapped' => false'choice_label' => function ($commune) { return  $commune->getNom() ;}])
  41.             ->add('user'UserTypeF::class, ['label' => ' '])
  42.             ->add('password2'PasswordType::class,['label' => 'Saisissez de nouveau le mot de passe'
  43.             'mapped' => false])
  44.             ->add('Enregistrer'SubmitType::class)
  45.         ;
  46.     }
  47.     public function configureOptions(OptionsResolver $resolver): void
  48.     {
  49.         $resolver->setDefaults([
  50.             'data_class' => Membre::class,
  51.         ]);
  52.         $resolver->setRequired('province');
  53.         // type validation - User instance or int, you can also pick just one.
  54.         //$resolver->setAllowedTypes('province', array(Province::class, 'province'));
  55.     }
  56. }