You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

78 lines
2.5KB

  1. <?php
  2. namespace App\Form;
  3. use App\Entity\Territory\Territory;
  4. use App\Entity\Thematic\Thematic;
  5. use Lc\PietroBundle\Model\AbstractData;
  6. use Symfony\Component\Form\Extension\Core\Type\HiddenType;
  7. use Symfony\Component\Form\Extension\Core\Type\TextType;
  8. use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  9. use Symfony\Component\Form\AbstractType;
  10. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  11. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  12. use Symfony\Component\Form\FormBuilderInterface;
  13. use Symfony\Component\OptionsResolver\OptionsResolver;
  14. class SearchListForm extends AbstractType
  15. {
  16. public function buildForm(FormBuilderInterface $builder, array $options)
  17. {
  18. $builder
  19. ->add('search', TextType::class, [
  20. 'required' => false,
  21. 'attr' => [
  22. 'placeholder' => 'Saisir des critères par mots clés'
  23. ],
  24. ])
  25. ->add('territory', EntityType::class, [
  26. 'label' => 'Lieux',
  27. 'required' => false,
  28. 'class' => Territory::class,
  29. 'expanded' => true,
  30. 'multiple' => true,
  31. ])
  32. ->add('category', ChoiceType::class, [
  33. 'label' => 'Catégorie',
  34. 'required' => false,
  35. 'expanded' => true,
  36. 'multiple' => true,
  37. 'choices' => [
  38. AbstractData::getCategory()
  39. ]
  40. ])
  41. ->add('thematic', EntityType::class, [
  42. 'label' => 'Thématique',
  43. 'required' => false,
  44. 'class' => Thematic::class,
  45. 'expanded' => true,
  46. 'multiple' => true,
  47. ])
  48. ->add('page', HiddenType::class, [
  49. 'required' => false,
  50. 'empty_data' => 1,
  51. 'attr' => [
  52. 'class' => 'hidden-page'
  53. ]
  54. ])
  55. ->add('search_button', SubmitType::class, [
  56. 'attr' => ['class' => 'search-button'],
  57. ])
  58. ->add('export_excel', SubmitType::class, [
  59. 'attr' => ['class' => 'export export-excel'],
  60. ])
  61. ->add('export_pdf', SubmitType::class, [
  62. 'attr' => ['class' => 'export export-pdf'],
  63. ]);
  64. }
  65. public function configureOptions(OptionsResolver $resolver)
  66. {
  67. $resolver->setDefaults(
  68. [
  69. 'csrf_protection' => false,
  70. ]
  71. );
  72. }
  73. }