src/Form/DepotFichierEpciType.php line 24

  1. <?php
  2. namespace App\Form;
  3. use App\Entity\DepotFichier;
  4. use Symfony\Component\Form\AbstractType;
  5. use Symfony\Component\Form\Extension\Core\Type\DateType;
  6. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  7. use Symfony\Component\Form\Extension\Core\Type\TextType;
  8. use Symfony\Component\Form\Extension\Core\Type\IntegerType;
  9. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  10. use Symfony\Component\Form\Extension\Core\Type\CountryType;
  11. use Symfony\Component\Form\Extension\Core\Type\UrlType;
  12. use Symfony\Component\Form\Extension\Core\Type\FileType;
  13. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  14. use Symfony\Component\Form\Extension\Core\Type\TelType;
  15. use Symfony\Component\Form\FormBuilderInterface;
  16. use Symfony\Component\OptionsResolver\OptionsResolver;
  17. use Symfony\Component\Validator\Constraints\File;
  18. use Symfony\Component\Form\FormEvent;
  19. use Symfony\Component\Form\FormEvents;
  20. use Symfony\UX\Dropzone\Form\DropzoneType;
  21. class DepotFichierEpciType extends AbstractType
  22. {
  23.     public function buildForm(FormBuilderInterface $builder, array $options): void
  24.     {
  25.         $builder
  26.             ->add('nom'TextType::class,[
  27.                 'required' => true,
  28.                 'disabled' => false,
  29.                 'label' => 'Nom',
  30.                 'label_attr' => [
  31.                     'class' => 'col-md-4'
  32.                 ],
  33.                 'attr' => [
  34.                     'placeholder' => 'Votre nom',
  35.                 ],
  36.             ])
  37.             ->add('prenom'TextType::class,[
  38.                 'required' => true,
  39.                 'disabled' => false,
  40.                 'label' => 'Prénom',
  41.                 'label_attr' => [
  42.                     'class' => 'col-md-4'
  43.                 ],
  44.                 'attr' => [
  45.                     'placeholder' => 'Votre prénom',
  46.                 ],
  47.             ])
  48.             ->add('fonction'TextType::class,[
  49.                 'required' => true,
  50.                 'disabled' => false,
  51.                 'label' => 'Fonction',
  52.                 'label_attr' => [
  53.                     'class' => 'col-md-4'
  54.                 ],
  55.                 'attr' => [
  56.                     'placeholder' => 'Votre fonction',
  57.                 ],
  58.             ])            
  59.             ->add('email'EmailType::class,[
  60.                 'required' => true,
  61.                 'disabled' => false,
  62.                 'label' => 'E-mail',
  63.                 'label_attr' => [
  64.                     'class' => 'col-md-4'
  65.                 ],
  66.                 'attr' => [
  67.                     'placeholder' => 'Votre adresse e-mail',
  68.                 ],
  69.             ])
  70.             ->add('telephone'TelType::class,[
  71.                 'required' => true,
  72.                 'disabled' => false,
  73.                 'label' => 'Téléphone',
  74.                 'label_attr' => [
  75.                     'class' => 'col-md-4'
  76.                 ],
  77.                 'attr' => [
  78.                     'placeholder' => 'Votre téléphone',
  79.                 ],
  80.             ]) 
  81.             ->add('identifiantCollectivite'ChoiceType::class,[
  82.                 'required' => true,
  83.                 'disabled' => false,
  84.                 'label' => 'Votre collectivité',
  85.                 'label_attr' => [
  86.                     'class' => 'col-md-4'
  87.                 ],
  88.                 'attr' => [
  89.                     'class' => 'selectize-field'
  90.                 ],
  91.                 'placeholder' => 'Choisissez votre EPCI',
  92.                 'choices' => [
  93.                     "CC Normandie-Cabourg-Pays d'Auge" => "200065563-cc-normandie-cabourg-pays-d-auge",
  94.                     "CC Val ès Dunes" => "200065589-cc-val-es-dunes",
  95.                     "CU Caen la Mer" => "200065597-cu-caen-la-mer",
  96.                     "CC Cingal-Suisse Normande" => "200066710-cc-cingal-suisse-normande",
  97.                     "CC Vallées de l'Orne et de l'Odon" => "200066728-cc-vallees-de-l-orne-et-de-l-odon",
  98.                     "CC Isigny-Omaha Intercom" => "200066801-cc-isigny-omaha-intercom",
  99.                     "CC du Pays de Honfleur-Beuzeville" => "200066827-cc-du-pays-de-honfleur-beuzeville",
  100.                     "CC Intercom de la Vire au Noireau" => "200068799-cc-intercom-de-la-vire-au-noireau",
  101.                     "CC Seulles Terre et Mer" => "200069516-cc-seulles-terre-et-mer",
  102.                     "CC Pré-Bocage Intercom" => "200069524-cc-pre-bocage-intercom",
  103.                     "CA Lisieux Normandie" => "200069532-ca-lisieux-normandie",
  104.                     "CC Coeur Côte Fleurie" => "241400415-cc-coeur-cote-fleurie",
  105.                     "CC du Pays de Falaise" => "241400514-cc-du-pays-de-falaise",
  106.                     "CC de Bayeux Intercom" => "241400555-cc-de-bayeux-intercom",
  107.                     "CC Coeur de Nacre" => "241400860-cc-coeur-de-nacre",
  108.                     "CC Terre d'Auge" => "241400878-cc-terre-d-auge",
  109.                     "CC de Pont-Audemer / Val de Risle" => "200065787-cc-de-pont-audemer-val-de-risle",
  110.                     "CC Lieuvin Pays d'Auge" => "200066017-cc-lieuvin-pays-d-auge",
  111.                     "CC Roumois Seine" => "200066405-cc-roumois-seine",
  112.                     "CC Intercom Bernay Terres de Normandie" => "200066413-cc-intercom-bernay-terres-de-normandie",
  113.                     "CC Interco Normandie Sud Eure" => "200066462-cc-interco-normandie-sud-eure",
  114.                     "CC Lyons Andelle" => "200070142-cc-lyons-andelle",
  115.                     "CA Evreux Portes de Normandie" => "200071454-ca-evreux-portes-de-normandie",
  116.                     "CC du Vexin Normand" => "200071843-cc-du-vexin-normand",
  117.                     "CA Seine Normandie Agglomération" => "200072312-ca-seine-normandie-agglomeration",
  118.                     "CA Seine-Eure" => "200089456-ca-seine-eure",
  119.                     "CC du Pays de Conches" => "242700276-cc-du-pays-de-conches",
  120.                     "CC du Pays du Neubourg" => "242700607-cc-du-pays-du-neubourg",
  121.                     "CC de Granville, Terre et Mer" => "200042604-cc-de-granville,-terre-et-mer",
  122.                     "CC de la Baie du Cotentin" => "200042729-cc-de-la-baie-du-cotentin",
  123.                     "CC de Villedieu Intercom" => "200043354-cc-de-villedieu-intercom",
  124.                     "CA Saint-Lô Agglo" => "200066389-ca-saint-lo-agglo",
  125.                     "CC Coutances Mer et Bocage" => "200067023-cc-coutances-mer-et-bocage",
  126.                     "CC Côte Ouest Centre Manche" => "200067031-cc-cote-ouest-centre-manche",
  127.                     "CA du Cotentin" => "200067205-ca-du-cotentin",
  128.                     "CA Mont-Saint-Michel-Normandie" => "200069425-ca-mont-saint-michel-normandie",
  129.                     "CC de la Vallée de la Haute Sarthe" => "200035103-cc-de-la-vallee-de-la-haute-sarthe",
  130.                     "CC des Sources de l'Orne" => "200035111-cc-des-sources-de-l-orne",
  131.                     "CA Flers Agglo" => "200035814-ca-flers-agglo",
  132.                     "CC du Pays de Mortagne au Perche" => "200036069-cc-du-pays-de-mortagne-au-perche",
  133.                     "CC Coeur du Perche" => "200068435-cc-coeur-du-perche",
  134.                     "CC Andaine - Passais" => "200068443-cc-andaine-passais",
  135.                     "CC Argentan Intercom" => "200068450-cc-argentan-intercom",
  136.                     "CC des Pays de L'Aigle" => "200068468-cc-des-pays-de-l-aigle",
  137.                     "CC des Hauts du Perche" => "200068856-cc-des-hauts-du-perche",
  138.                     "CC des Vallées d'Auge et du Merlerault" => "200069458-cc-des-vallees-d-auge-et-du-merlerault",
  139.                     "CC des Collines du Perche Normand" => "200071504-cc-des-collines-du-perche-normand",
  140.                     "CC Domfront Tinchebray Interco" => "200071520-cc-domfront-tinchebray-interco",
  141.                     "CC du Pays Fertois et du Bocage Carrougien" => "200071652-cc-du-pays-fertois-et-du-bocage-carrougien",
  142.                     "CC du Val d'Orne" => "246100390-cc-du-val-d-orne",
  143.                     "CU d'Alençon" => "246100663-cu-d-alencon",
  144.                     "CA Caux Seine Agglo" => "200010700-ca-caux-seine-agglo",
  145.                     "Métropole Rouen Normandie" => "200023414-metropole-rouen-normandie",
  146.                     "CC Terroir de Caux" => "200068534-cc-terroir-de-caux",
  147.                     "CC interrégionale Aumale - Blangy-sur-Bresle" => "200069722-cc-interregionale-aumale-blangy-sur-bresle",
  148.                     "CC des 4 rivières" => "200069730-cc-des-4-rivieres",
  149.                     "CA Fécamp Caux Littoral Agglomération" => "200069821-ca-fecamp-caux-littoral-agglomeration",
  150.                     "CC de la Côte d'Albâtre" => "200069839-cc-de-la-cote-d-albatre",
  151.                     "CC Plateau de Caux-Doudeville-Yerville" => "200069847-cc-plateau-de-caux-doudeville-yerville",
  152.                     "CC Communauté Bray-Eawy" => "200070068-cc-communaute-bray-eawy",
  153.                     "CC inter-Caux-Vexin" => "200070449-cc-inter-caux-vexin",
  154.                     "CU Le Havre Seine Métropole" => "200084952-cu-le-havre-seine-metropole",
  155.                     "CC Campagne-de-Caux" => "247600505-cc-campagne-de-caux",
  156.                     "CC des Villes Soeurs" => "247600588-cc-des-villes-soeurs",
  157.                     "CC de Londinières" => "247600604-cc-de-londinieres",
  158.                     "CC Yvetot Normandie" => "247600620-cc-yvetot-normandie",
  159.                     "CC Caux - Austreberthe" => "247600646-cc-caux-austreberthe",
  160.                     "CC Falaises du Talou" => "247600729-cc-falaises-du-talou",
  161.                     "CA de la Région Dieppoise" => "247600786-ca-de-la-region-dieppoise",
  162.                 ]
  163.             ])
  164.             ->add('telephone'TelType::class,[
  165.                 'required' => true,
  166.                 'disabled' => false,
  167.                 'label' => 'Téléphone',
  168.                 'label_attr' => [
  169.                     'class' => 'col-md-4',
  170.                 ],
  171.                 'attr' => [
  172.                     'placeholder' => 'Votre téléphone',
  173.                     'data-parsley-minlength' => "10",
  174.                     'data-parsley-minlength-message' => 'numéro de téléphone invalide (il vous faut 10 chiffres)',
  175.                     'data-parsley-type' => "digits",
  176.                     'data-parsley-type-message' => "Vous ne devez saisir que des chiffres"
  177.                 ],
  178.             ])            
  179.             ->add('fichier'FileType::class)
  180.         ;        
  181.     }
  182.     public function configureOptions(OptionsResolver $resolver): void
  183.     {
  184.         $resolver->setDefaults([
  185.             'data_class' => DepotFichier::class,
  186.         ]);
  187.     }
  188. }