Esempio n. 1
0
 /**
  * Builds the CSRF field.
  *
  * A validator is added to check the token value when the CSRF field is added to
  * a root form
  *
  * @param FormBuilder $builder The form builder
  * @param array       $options The options
  */
 public function buildForm(FormBuilder $builder, array $options)
 {
     $csrfProvider = $options['csrf_provider'];
     $intention = $options['intention'];
     $validator = function (FormInterface $form) use($csrfProvider, $intention) {
         if ((!$form->hasParent() || $form->getParent()->isRoot()) && !$csrfProvider->isCsrfTokenValid($intention, $form->getData())) {
             $form->addError(new FormError('The CSRF token is invalid. Please try to resubmit the form'));
             $form->setData($csrfProvider->generateCsrfToken($intention));
         }
     };
     $builder->setData($csrfProvider->generateCsrfToken($intention))->addValidator(new CallbackValidator($validator));
 }
Esempio n. 2
0
 public function buildForm(FormBuilder $builder, array $options)
 {
     $builder->add('postDate');
     if (!(!is_null($this->picture) && is_file($this->picture->getAbsolutePath()))) {
         $builder->add('file');
     } else {
         $builder->add('id', 'hidden');
     }
     $builder->add('description');
     if (!is_null($this->picture)) {
         $builder->setData($this->picture);
     }
 }
Esempio n. 3
0
 /**
  * Builds the CSRF field.
  *
  * A validator is added to check the token value when the CSRF field is added to
  * a root form
  *
  * @param FormBuilder $builder The form builder
  * @param array       $options The options
  */
 public function buildForm(FormBuilder $builder, array $options)
 {
     $csrfProvider = $options['csrf_provider'];
     $intention = $options['intention'];
     $builder->setData($csrfProvider->generateCsrfToken($intention))->addEventSubscriber(new CsrfValidationListener($csrfProvider, $intention));
 }
 /**
  * This function return the form used in the product view page
  *
  * @param  \Sonata\Component\Product\ProductInterface $product
  * @param  \Symfony\Component\Form\FormBuilder        $formBuilder
  * @param  array                                      $options
  * @return void
  */
 public function defineAddBasketForm(ProductInterface $product, FormBuilder $formBuilder, array $options = array())
 {
     $basketElement = $this->createBasketElement($product);
     // create the product form
     $formBuilder->setData($basketElement)->add('quantity', 'integer')->add('productId', 'hidden');
 }
Esempio n. 5
0
 /**
  * This function return the form used in the product view page
  *
  * @param  \Sonata\Component\Product\ProductInterface $product      A Sonata product instance
  * @param  \Symfony\Component\Form\FormBuilder        $formBuilder  Symfony form builder
  * @param  boolean                                    $showQuantity Specifies if quantity field will be displayed (default true)
  * @param  array                                      $options      An options array
  * @return void
  */
 public function defineAddBasketForm(ProductInterface $product, FormBuilder $formBuilder, $showQuantity = true, array $options = array())
 {
     $basketElement = $this->createBasketElement($product);
     // create the product form
     $formBuilder->setData($basketElement)->add('productId', 'hidden');
     if ($showQuantity) {
         $formBuilder->add('quantity', 'integer');
     } else {
         $transformer = new QuantityTransformer();
         $formBuilder->add($formBuilder->create('quantity', 'hidden', array('data' => 1))->addModelTransformer($transformer));
     }
 }