src/Form/Type/FormulaireAnniversaireType.php line 22

Open in your IDE?
  1. <?php
  2. namespace App\Form\Type;
  3.  
  4. use App\Entity\FormulaireAnniversaire;
  5. use Symfony\Component\Form\AbstractType;
  6. use Symfony\Component\Form\FormBuilderInterface;
  7. use Symfony\Component\OptionsResolver\OptionsResolver;
  8. use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  9. use Symfony\Component\Form\Extension\Core\Type\NumberType;
  10. use Symfony\Component\Form\Extension\Core\Type\TextType;
  11. use Symfony\Component\Form\Extension\Core\Type\DateType;
  12. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  13. use Symfony\Component\Form\Extension\Core\Type\TimeType;
  14. use Symfony\Component\Form\Extension\Core\Type\FormType;
  15. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  16. use Symfony\Component\Form\Extension\Core\Type\TelType;
  17. use Symfony\Component\Form\Extension\Core\Type\RangeType;
  18. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  19. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  20.  
  21. class FormulaireAnniversaireType extends AbstractType
  22. {
  23.     public function buildForm(FormBuilderInterface $builder, array $options) {
  24.         $builder->add('code_postal'TextType::class)
  25.                 ->add('date'DateType::class, [
  26.                     'widget' => 'single_text',
  27.                     'html5' => false,
  28.                 ])
  29.                 ->add('nom_du_lieu'TextType::class, ['label'=>'Quel est le nom du lieu ?',
  30.                                                        'attr'=>['class'=>'select'],
  31.                                                        'required' => false
  32.                                                       ])
  33.                 ->add('heure_de_debut'TimeType::class, [
  34.                     'label' => 'A quelle heure commence la musique ?',
  35.                     'input'  => 'datetime',
  36.                     'widget' => 'choice',
  37.                 ])           
  38.                 ->add('deroulement'ChoiceType::class, ['label' => 'Pour quelle étapes avez-vous besoin du Dj ?',
  39.                                                          'attr'=>['class'=>'select'],
  40.                                                          'choices' => [
  41.                                                              'Cocktail, diner et soirée dansante' => 'Cocktail, diner et soirée dansante',
  42.                                                              'Diner et soirée dansante' => 'Diner et soirée dansante',
  43.                                                              'Soirée dansante' => 'Soirée dansante',
  44.                                                          ]])
  45.                 ->add('nb_personne'RangeType::class, ['label' => 'Combien de personnes seront présentes ?',
  46.                                                         'attr' => [
  47.                                                             'min' => 30,
  48.                                                             'max' => 500,
  49.                                                             'value' => 80]])
  50.                 ->add('ambiance'ChoiceType::class, ['label' => 'Quelle ambiance pour quel type de public recherchez-vous ?',
  51.                                                       'attr'=>['class'=>'select'],
  52.                                                       'choices' => [
  53.                                                         'Généraliste' => 'Généraliste',
  54.                                                         'Top 50, Année 80, Disco, Funk' => 'Top 50, Année 80, Disco',
  55.                                                         'Coupé décalé, Afro beat,' => 'Coupé décalé, Afro beat',
  56.                                                         'Zouk, Dance Hall' => 'Zouk, Dance Hall',
  57.                                                         'Ubain, Rap, Trap' => 'Ubain, Rap, Trap',
  58.                                                       ]])
  59.                 ->add('budget'ChoiceType::class, ['label' => 'Quelle type de prestation recherchez-vous ?'
  60.                                                     'attr'=>['class'=>'select'],
  61.                                                     'choices' => [
  62.                                                        
  63.                                                         'Entre 350€ et 400€ (Forfait 5H de 19h à 1h00)' => '300€ et 400€',
  64.                                                         'Entre 400€ et 500€ (Forfait 6H de 20h à 2h00)' => '400€ et 500€',
  65.                                                         'Entre 500€ et 600€ (Forfait 7H de 20h à 3h00)' => '500€ et 600€',
  66.                                                         'Entre 600€ et 700€ (Forfait 8H de 19h à 3h00)' => '600€ et 700€',
  67.                                                         'Plus de 700€ (Forfait 8H avec options)' => 'Plus de 700€',
  68.                                                     ]])
  69.                 ->add('champ_libre'TextareaType::class, ['label' => 'Utilisez cet espace pour donner quelques précisions au Dj',
  70.                                                            'attr'=>['class'=>'select'],
  71.                                                            'required' => false
  72.                                                           ])
  73.                 ->add('nom'TextType::class, ['label' => 'Votre nom',
  74.                                                'attr'=>['class'=>'select'],
  75.                                                'required' => false
  76.                                               ])
  77.                 ->add('prenom'TextType::class, ['label' => 'Votre nom et prenom',
  78.                                                   'attr'=>['class'=>'select'],
  79.                                                   'required' => false
  80.                                                  ])
  81.                 ->add('email'EmailType::class, ['label' => 'Saisissez votre email pour recevoir des propositions',
  82.                                                  'attr'=>['class'=>'select',
  83.                                                  'pattern'=>"[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$"],
  84.                                                  'required' => false
  85.                                                 ])
  86.                 ->add('numero'TelType::class, ['label' => 'Recevez des réponses encore plus vite avec les notifications SMS',
  87.                                                     'attr'=>['class'=>'select',
  88.                                                     'placeholder' => 'Entrez votre numéro de téléphone',
  89.                                                     'pattern' => "^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$",
  90.                                                     'maxlength' => '10',
  91.                                                     'minlength' => '10']
  92.                                                    ])
  93.                 ->add('go',SubmitType::class, ['label'=>'Vérification']);
  94.                 
  95.                 
  96.     }
  97.  
  98.     public function configureOptions(OptionsResolver $resolver) {
  99.         $resolver->setDefaults(array(
  100.             'data_class' => FormulaireAnniversaire::class
  101.         ));
  102.     }
  103. }