/** * Removes CSRF fields from all the form views except the root one. * * @param FormView $view The form view * @param FormInterface $form The form */ public function buildViewBottomUp(FormView $view, FormInterface $form) { if ($view->hasParent() && $form->hasAttribute('csrf_field_name')) { $name = $form->getAttribute('csrf_field_name'); if (isset($view[$name])) { unset($view[$name]); } } }
/** * {@inheritdoc} */ public function buildView(FormView $view, FormInterface $form) { $view ->set('allow_add', $form->getAttribute('allow_add')) ->set('allow_delete', $form->getAttribute('allow_delete')) ; if ($form->hasAttribute('prototype')) { $view->set('prototype', $form->getAttribute('prototype')); } }
/** * Adds a CSRF field to the root form view. * * @param FormView $view The form view * @param FormInterface $form The form */ public function buildViewBottomUp(FormView $view, FormInterface $form) { if (!$view->hasParent() && !$form->getAttribute('single_control') && $form->hasAttribute('csrf_field_name')) { $name = $form->getAttribute('csrf_field_name'); $csrfProvider = $form->getAttribute('csrf_provider'); $intention = $form->getAttribute('csrf_intention'); $factory = $form->getAttribute('csrf_factory'); $data = $csrfProvider->generateCsrfToken($intention); $csrfForm = $factory->createNamed('hidden', $name, $data, array('property_path' => false)); $view->addChild($csrfForm->createView($view)); } }
/** * {@inheritdoc} */ public function buildView(FormViewInterface $view, FormInterface $form, array $options) { $datas = json_decode($form->getClientData(), true); $value = ''; if (false === empty($datas)) { if (true === $form->getAttribute('multiple')) { foreach ($datas as $data) { $value .= $data['label'] . ', '; } } else { $value = $datas['label']; } } $view->set('tokeninput_value', $value)->set('route_name', $form->getAttribute('route_name')); foreach ($this->_availableTokeninputOptions as $option) { if ($form->hasAttribute($option)) { $view->set($option, $form->getAttribute($option)); } } }
protected static function getFormValidationGroups(FormInterface $form) { $groups = null; if ($form->hasAttribute('validation_groups')) { $groups = $form->getAttribute('validation_groups'); if (is_callable($groups)) { $groups = (array) call_user_func($groups, $form); } } $currentForm = $form; while (!$groups && $currentForm->hasParent()) { $currentForm = $currentForm->getParent(); if ($currentForm->hasAttribute('validation_groups')) { $groups = $currentForm->getAttribute('validation_groups'); if (is_callable($groups)) { $groups = (array) call_user_func($groups, $currentForm); } } } if (null === $groups) { $groups = array('Default'); } return (array) $groups; }
/** * {@inheritdoc} */ public function buildViewBottomUp(FormView $view, FormInterface $form) { if ($form->hasAttribute('prototype') && $view->get('prototype')->get('multipart')) { $view->set('multipart', true); } }