src/Form/SubscriberType.php line 17

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 Symfony\Component\Security\Core\Authorization\AuthorizationCheckerInterface;
  7. use Symfony\Component\Form\Extension\Core\Type\TextType;
  8. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  9. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  10. use Gregwar\CaptchaBundle\Type\CaptchaType;
  11. class SubscriberType extends AbstractType
  12. {
  13.     /**
  14.     * @var AuthorizationCheckerInterface
  15.     */
  16.     private $authorizationChecker=null;
  17.     public function __construct(AuthorizationCheckerInterface $authorizationChecker)
  18.     {
  19.           $this->authorizationChecker=$authorizationChecker;
  20.     }
  21.     public function buildForm(FormBuilderInterface $builder, array $options)
  22.     {
  23.         $builder
  24.             ->add('name'TextType::class, [
  25.                 'label' => 'Votre nom'
  26.             ])
  27.             ->add('email'EmailType::class, [
  28.                 'label' => 'Votre email',
  29.                 'required' => true 
  30.             ])
  31.         ;
  32.         if(!$this->authorizationChecker->isGranted('ROLE_ADMIN')) {
  33.             $builder->add('captcha'CaptchaType::class, [
  34.                 'label' => "Anti-robot. Saisissez le texte de l'image..."
  35.             ]);
  36.         }
  37.         $builder->add('Inscription'SubmitType::class, [
  38.             'attr' => [
  39.                 'class' => 'btn-icig'
  40.             ],
  41.             'label' => "Proposer"
  42.         ]);
  43.     }
  44.     public function configureOptions(OptionsResolver $resolver)
  45.     {
  46.         $resolver->setDefaults([
  47.             // Configure your form options here
  48.         ]);
  49.     }
  50. }