src/Form/RentType.php line 22

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use App\Entity\model\Rent;
  4. use App\Entity\Stop;
  5. use EWZ\Bundle\RecaptchaBundle\Form\Type\EWZRecaptchaType;
  6. use Symfony\Component\Form\AbstractType;
  7. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  8. use Symfony\Component\Form\Extension\Core\Type\DateTimeType;
  9. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  10. use Symfony\Component\Form\Extension\Core\Type\IntegerType;
  11. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  12. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  13. use Symfony\Component\Form\Extension\Core\Type\TextType;
  14. use Symfony\Component\Form\FormBuilderInterface;
  15. use Symfony\Component\OptionsResolver\OptionsResolver;
  16. use Tetranz\Select2EntityBundle\Form\Type\Select2EntityType;
  17. class RentType extends AbstractType
  18. {
  19.     public function buildForm(FormBuilderInterface $builder, array $options): void {
  20.         $dis $options['disabled'];
  21.         $lang 'fr';
  22.         $builder
  23.             ->add('depStop'Select2EntityType::class, [
  24.                 'label' => 'Départ de*',
  25.                 'remote_route' => 'autocompletion_stops',
  26.                 'remote_params' => ['lang' => $lang],
  27.                 'class' => Stop::class,
  28.                 'text_property' => 'name',
  29.                 'delay' => 250,
  30.                 'cache' => true,
  31.                 'language' => $lang,
  32.                 'placeholder' => 'Selectionnez une ville',
  33.                 'disabled' => $dis
  34.             ])
  35.             ->add('depDatetime'DateTimeType::class, ['label' => 'Départ le *''disabled' => $dis])
  36.             ->add('arrStop'Select2EntityType::class, [
  37.                 'label' => 'Arrivée à*',
  38.                 'remote_route' => 'autocompletion_stops',
  39.                 'remote_params' => ['lang' => $lang],
  40.                 'class' => Stop::class,
  41.                 'text_property' => 'name',
  42.                 'delay' => 250,
  43.                 'cache' => true,
  44.                 'language' => $lang,
  45.                 'placeholder' => 'Selectionnez une ville',
  46.                 'disabled' => $dis
  47.             ])
  48.             ->add('back'CheckboxType::class, ['label' => 'Pas de retour ''required' => false])
  49.             ->add('toDatetime'DateTimeType::class, ['label' => 'Retour le ''disabled' => $dis])
  50.             ->add('seat'IntegerType::class, ['label' => 'Nombre de personnes*''disabled' => $dis])
  51.             ->add('name'TextType::class, ['label' => 'Votre nom*''disabled' => $dis'required' => true])
  52.             ->add('phone'TextType::class, ['label' => 'Votre numéro de téléphone*''disabled' => $dis'required' => true])
  53.             ->add('email'EmailType::class, ['label' => 'Votre adresse email*''disabled' => $dis'required' => true])
  54.             ->add('comment'TextareaType::class, [
  55.                 'label' => 'Commentaires',
  56.                 'required' => false,
  57.                 'attr' => ['placeholder' => 'Des informations complémentaires : étapes (escales), demandes particulières'],
  58.                 'disabled' => $dis
  59.             ])
  60.             ->add('accepted'CheckboxType::class, ['label' => 'J\'accepte les conditions d\'utilisation**'])
  61.             ->add('recaptcha'EWZRecaptchaType::class);
  62.         if (!$dis) {
  63.             $builder->add('sendmyquotation'SubmitType::class, ['label' => 'Envoyer ma demande devis''disabled' => $dis]);
  64.         }
  65.     }
  66.     public function configureOptions(OptionsResolver $resolver): void {
  67.         $resolver->setDefaults([
  68.             'data_class' => Rent::class,
  69.             'disabled' => false
  70.         ]);
  71.     }
  72. }