/** * {@inheritDoc} */ public function buildForm(FormBuilderInterface $builder, array $options) { parent::buildForm($builder, $options); $builder->addEventListener(FormEvents::POST_SUBMIT, function (FormEvent $event) { $parent = $event->getForm()->getParent(); $object = $parent->getData(); if (!$object) { throw new \Exception("can not work for null form"); } if (!is_object($object)) { throw new \Exception("form data must be object"); } $admin_loader = $this->container->get('sf.admin.loader'); $admin = $admin_loader->getAdminByClass($object); $new_data = $event->getForm()->getData(); $property = $event->getForm()->getName(); $old_data = $admin->getReflectionProperty($property)->getValue($object); if ($new_data !== $old_data) { $admin->addEvent('update', function ($_object, $admin) use($old_data, $new_data, $object) { if ($_object !== $object) { throw new \Exception("big error"); } $_new_data = $admin->getReflectionProperty($admin->workflow['property'])->getValue($object); if ($_new_data !== $new_data) { throw new \Exception("big error"); } $admin->onWorkflowValueChange($object, $new_data, $old_data); }); } }); }
/** * {@inheritdoc} */ public function buildForm(FormBuilderInterface $builder, array $options) { if (isset($defaults['choices']) || isset($defaults['choice_loader'])) { throw new \LogicException('You can not provide your own choice list for this type.'); } parent::buildForm($builder, $options); }
/** * {@inheritDoc} */ public function buildForm(FormBuilderInterface $builder, array $options) { $transformer = new OwnerTransformer($this->container->get('sf.admin.loader'), $options['sf_admin_class']); $builder->addEventListener(FormEvents::PRE_SUBMIT, function (FormEvent $event) use($transformer) { $parent = $event->getForm()->getParent(); $object = $parent->getData(); $transformer->setReverseData($object); }); $builder->addModelTransformer($transformer); parent::buildForm($builder, $options); }
/** * {@inheritDoc} */ public function buildForm(FormBuilderInterface $builder, array $options) { // translate options before building form foreach ($options['choices'] as $name => $value) { $options['choices'][$name] = $this->translator->trans($value, array(), $options['catalogue']); } // translate empty value if (!empty($options['empty_value'])) { $options['empty_value'] = $this->translator->trans($options['empty_value'], array(), $options['catalogue']); } parent::buildForm($builder, $options); }
public function buildForm(FormBuilderInterface $builder, array $options) { // $this->choices = []; $keys = []; /**@var Environment $choice*/ foreach ($this->choices as $key => $choice) { if ($choice->getManaged() || !$options['managedOnly']) { $keys[] = $choice->getName(); $this->choices[$choice->getName()] = $choice; } } $options['choices'] = $keys; parent::buildForm($builder, $options); }
/** * {@inheritdoc} */ public function buildForm(FormBuilder $builder, array $options) { $options['expanded'] = true; $options['multiple'] = false; parent::buildForm($builder, $options); }
public function buildForm(FormBuilderInterface $builder, array $options = self::DEFAULT_OPTIONS) { parent::buildForm($builder, $options); }