buildForm() public method

public buildForm ( FormBuilder $builder, array $options )
$builder Symfony\Component\Form\FormBuilder
$options array
 /**
  * {@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);
 }
Beispiel #3
0
 /**
  * {@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);
 }
Beispiel #7
0
 public function buildForm(FormBuilderInterface $builder, array $options = self::DEFAULT_OPTIONS)
 {
     parent::buildForm($builder, $options);
 }