<?php
namespace App\Form;
use App\Entity\Evosimul;
use App\Entity\SimulSitePanneaux;
use Karser\Recaptcha3Bundle\Form\Recaptcha3Type;
use Karser\Recaptcha3Bundle\Validator\Constraints\Recaptcha3;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ButtonType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\IntegerType;
use Symfony\Component\Form\Extension\Core\Type\NumberType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\DateType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
class ContactPromoFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('nom',TextType::Class)
->add('prenom',TextType::Class)
->add('cp',TextType::Class,[
'label'=>'Code postal',
])
->add('ville',TextType::Class)
->add('comments',TextareaType::Class,[
'label'=>'Commentaire',
])
->add('email',EmailType::Class,[
'required'=>false
])
->add('tel',TextType::Class,[
'required'=>false,
'label'=>'Téléphone',
])
->add('captcha', Recaptcha3Type::class, [
'constraints' => new Recaptcha3(),
'action_name' => 'contact',
])
->add('type', ChoiceType::Class,[
'label'=>'Vous êtes :',
'choices' =>[
'Particulier'=> 'Particulier',
'PME'=> 'PME',
'Collectivité'=> 'Collectivité'
],
'choice_attr'=>['class' => 'form-check-inline'],
'expanded'=> true
])
->add('sujet', ChoiceType::Class,[
'label'=>'Je contacte Evo-Logis pour :',
'choices' =>[
'Demander un devis'=> 'Devis',
'Une demande d\'information '=> 'Demande information',
'Prendre rendez-vous avec un conseiller'=> 'RDV conseillé',
'Être rappelé par téléphone'=> 'Rappel téléphone',
'Obtenir des précisions sur les aides disponibles'=> 'Précision aides disponibles',
'Autres'=> 'Autres'
],
])
->add('projet', ChoiceType::Class,[
'label'=>'Type de projet',
'choices' =>[
'Panneaux solaires'=> 'Panneaux solaires',
'Pompe à chaleur / climatisation'=> 'Pompe à chaleur / clim',
'Isolation'=> 'Isolation',
'Borne de recharge'=> 'Borne de recharge',
'Autre'=> 'Autre'
],
])
->add('rappel', CheckboxType::class,[
'label' => 'J\'accepte d\'être recontacté(e) par Evo-Logis',
])
->add('submit',SubmitType::class,[
'label' => 'Envoyer',
'attr' => ['class' => 'form-send-button'],
'row_attr' => ['class' => 'text-center mt-4']
])
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => Evosimul::class,
'csrf_protection' => false,
// the name of the hidden HTML field that stores the token
'csrf_field_name' => '_token',
// an arbitrary string used to generate the value of the token
// using a different string for each form improves its security
'csrf_token_id' => 'simul'
]);
}
}