src/Form/EStateAdContactFormType.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\Form\FormBuilderInterface;
  5. use Symfony\Component\OptionsResolver\OptionsResolver;
  6. use Beelab\Recaptcha2Bundle\Form\Type\RecaptchaType;
  7. use Beelab\Recaptcha2Bundle\Validator\Constraints\Recaptcha2;
  8. use Symfony\Component\Form\Extension\Core\Type\HiddenType;
  9. use Symfony\Component\Form\Extension\Core\Type\TextType;
  10. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  11. class EStateAdContactFormType extends AbstractType
  12. {
  13.     public function buildForm(FormBuilderInterface $builder, array $options)
  14.     {
  15.         if($options['userInfo'] !== null)
  16.         {
  17.             $builder
  18.                 ->add('name'HiddenType::class, [
  19.                     'data' => $options['userInfo']->getName() . " " $options['userInfo']->getFirstName()
  20.                 ])
  21.                 ->add('email'HiddenType::class, [
  22.                     'data' => $options['userInfo']->getEmail()
  23.                 ])
  24.             ;
  25.         } else {
  26.             $builder
  27.                 ->add('name')
  28.                 ->add('email')
  29.             ;
  30.         }
  31.         
  32.         $builder
  33.             ->add('phone')
  34.             ->add('message'TextareaType::class, [
  35.             ])
  36.             ->add('reference'HiddenType::class)
  37.             ->add('estatead_id'HiddenType::class)
  38.             ->add('g-recaptcha-response'RecaptchaType::class, [
  39.                 'constraints' => new Recaptcha2(),
  40.                 'mapped' => false,
  41.                 'error_bubbling' => false
  42.             ])
  43.         ;
  44.     }
  45.     public function configureOptions(OptionsResolver $resolver)
  46.     {
  47.         $resolver->setDefaults([
  48.             // Configure your form options here
  49.             'userInfo' => null
  50.         ]);
  51.     }
  52. }