<?php
namespace App\Form\Type;
use App\Entity\FormulaireAnniversaire;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\Extension\Core\Type\NumberType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\DateType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\TimeType;
use Symfony\Component\Form\Extension\Core\Type\FormType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\TelType;
use Symfony\Component\Form\Extension\Core\Type\RangeType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
class FormulaireAnniversaireType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder->add('code_postal', TextType::class)
->add('date', DateType::class, [
'widget' => 'single_text',
'html5' => false,
])
->add('nom_du_lieu', TextType::class, ['label'=>'Quel est le nom du lieu ?',
'attr'=>['class'=>'select'],
'required' => false
])
->add('heure_de_debut', TimeType::class, [
'label' => 'A quelle heure commence la musique ?',
'input' => 'datetime',
'widget' => 'choice',
])
->add('deroulement', ChoiceType::class, ['label' => 'Pour quelle étapes avez-vous besoin du Dj ?',
'attr'=>['class'=>'select'],
'choices' => [
'Cocktail, diner et soirée dansante' => 'Cocktail, diner et soirée dansante',
'Diner et soirée dansante' => 'Diner et soirée dansante',
'Soirée dansante' => 'Soirée dansante',
]])
->add('nb_personne', RangeType::class, ['label' => 'Combien de personnes seront présentes ?',
'attr' => [
'min' => 30,
'max' => 500,
'value' => 80]])
->add('ambiance', ChoiceType::class, ['label' => 'Quelle ambiance pour quel type de public recherchez-vous ?',
'attr'=>['class'=>'select'],
'choices' => [
'Généraliste' => 'Généraliste',
'Top 50, Année 80, Disco, Funk' => 'Top 50, Année 80, Disco',
'Coupé décalé, Afro beat,' => 'Coupé décalé, Afro beat',
'Zouk, Dance Hall' => 'Zouk, Dance Hall',
'Ubain, Rap, Trap' => 'Ubain, Rap, Trap',
]])
->add('budget', ChoiceType::class, ['label' => 'Quelle type de prestation recherchez-vous ?',
'attr'=>['class'=>'select'],
'choices' => [
'Entre 350€ et 400€ (Forfait 5H de 19h à 1h00)' => '300€ et 400€',
'Entre 400€ et 500€ (Forfait 6H de 20h à 2h00)' => '400€ et 500€',
'Entre 500€ et 600€ (Forfait 7H de 20h à 3h00)' => '500€ et 600€',
'Entre 600€ et 700€ (Forfait 8H de 19h à 3h00)' => '600€ et 700€',
'Plus de 700€ (Forfait 8H avec options)' => 'Plus de 700€',
]])
->add('champ_libre', TextareaType::class, ['label' => 'Utilisez cet espace pour donner quelques précisions au Dj',
'attr'=>['class'=>'select'],
'required' => false
])
->add('nom', TextType::class, ['label' => 'Votre nom',
'attr'=>['class'=>'select'],
'required' => false
])
->add('prenom', TextType::class, ['label' => 'Votre nom et prenom',
'attr'=>['class'=>'select'],
'required' => false
])
->add('email', EmailType::class, ['label' => 'Saisissez votre email pour recevoir des propositions',
'attr'=>['class'=>'select',
'pattern'=>"[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$"],
'required' => false
])
->add('numero', TelType::class, ['label' => 'Recevez des réponses encore plus vite avec les notifications SMS',
'attr'=>['class'=>'select',
'placeholder' => 'Entrez votre numéro de téléphone',
'pattern' => "^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$",
'maxlength' => '10',
'minlength' => '10']
])
->add('go',SubmitType::class, ['label'=>'Vérification']);
}
public function configureOptions(OptionsResolver $resolver) {
$resolver->setDefaults(array(
'data_class' => FormulaireAnniversaire::class
));
}
}