src/Form/CourseType.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use App\Entity\Course;
  4. use App\Entity\Domain;
  5. use App\Entity\Module;
  6. use App\Repository\DomainRepository;
  7. use App\Repository\ModuleRepository;
  8. use Symfony\Component\Form\AbstractType;
  9. use Symfony\Component\Form\FormBuilderInterface;
  10. use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  11. use Symfony\Component\OptionsResolver\OptionsResolver;
  12. class CourseType extends AbstractType
  13. {
  14. /**
  15. * {@inheritdoc}
  16. */
  17. public function buildForm(FormBuilderInterface $builder, array $options)
  18. {
  19. $builder
  20. ->add('wording')
  21. ->add('coefficient')
  22. ->add('code')
  23. ->add('domain', EntityType::class, array('class' => Domain::class, 'placeholder' => 'Département', 'required' => true, 'query_builder' => function (DomainRepository $repository)
  24. {return $repository->createQueryBuilder('d')->add('orderBy', 'd.name');} ))
  25. ->add('module',EntityType::class, array('class' => Module::class, 'placeholder' => 'Module de cours', 'required' => true, 'query_builder' => function (ModuleRepository $repository)
  26. {return $repository->createQueryBuilder('m')->add('orderBy', 'm.room');} ))
  27. ;
  28. }
  29. /**
  30. * {@inheritdoc}
  31. */
  32. public function configureOptions(OptionsResolver $resolver)
  33. {
  34. $resolver->setDefaults(array(
  35. 'data_class' => Course::class,
  36. ));
  37. }
  38. /**
  39. * {@inheritdoc}
  40. */
  41. public function getName()
  42. {
  43. return 'course';
  44. }
  45. }