Esempio n. 1
0
 function it_builds_form_with_proper_fields(FormBuilder $builder, ZoneInterface $zone)
 {
     $builder->getData()->willReturn($zone);
     $zone->getType()->shouldBeCalled();
     $builder->add('name', 'text', Argument::any())->shouldBeCalled()->willReturn($builder);
     $builder->addEventSubscriber(Argument::type(AddCodeFormSubscriber::class))->shouldBeCalled()->willReturn($builder);
     $builder->add('type', 'sylius_zone_type_choice', Argument::any())->shouldBeCalled()->willReturn($builder);
     $builder->add('scope', 'choice', Argument::any())->shouldBeCalled()->willReturn($builder);
     $builder->add('members', 'collection', Argument::any())->shouldBeCalled()->willReturn($builder);
     $this->buildForm($builder, []);
 }
Esempio n. 2
0
 /**
  * {@inheritDoc}
  */
 public function buildForm(FormBuilder $builder, array $options)
 {
     $admin = $this->getAdmin($options);
     if ($options['delete'] && $admin->isGranted('DELETE')) {
         $builder->add('_delete', 'checkbox', array('required' => false, 'property_path' => false));
     }
     if (!$admin->hasSubject()) {
         $admin->setSubject($builder->getData());
     }
     $admin->defineFormBuilder($builder);
     $builder->prependClientTransformer(new ArrayToModelTransformer($admin->getModelManager(), $admin->getClass()));
 }
Esempio n. 3
0
 public function buildForm(FormBuilder $builder, array $options)
 {
     $data = $builder->getData();
     $builder->add('code', 'text', array('required' => false, 'label' => 'systemevents.code'))->add('description', 'textarea', array('required' => false, 'label' => 'systemevents.description'))->add('bundle', 'choice', array('empty_data' => $data->getBundle(), 'empty_value' => $data->getBundle(), 'choices' => $this->provider->getActiveBundleList(), 'multiple' => false, 'required' => false, 'label' => 'systemevents.bundle'))->add('entity', 'choice', array('empty_data' => $data->getEntity(), 'empty_value' => $data->getEntity(), 'choices' => array($data->getEntity()), 'multiple' => false, 'required' => false, 'label' => 'systemevents.entity'))->add('type', 'choice', array('choices' => SystemEvents::getTypeTypes(), 'multiple' => false, 'empty_data' => null, 'required' => false, 'label' => 'systemevents.type'))->add('actions', 'choice', array('choices' => SystemEvents::getActionsTypes(), 'multiple' => true, 'empty_data' => null, 'expanded' => true, 'required' => false, 'label' => ' '))->add('ownerType', 'hidden', array('required' => false, 'label' => 'systemevents.ownertype'))->add('ownerId', 'hidden', array('required' => false, 'label' => 'systemevents.ownerid'))->add('users', 'referencelist', array('columns' => array('username', 'firstName', 'lastName'), 'columnsType' => array('string', 'string', 'string'), 'label' => 'unit.users', 'entityName' => 'LowbiSystemBundle:User', 'actions' => array('select' => true, 'remove' => true), 'searchForm' => 'Lowbi\\SystemBundle\\Form\\UserSearchType'))->add('message', 'textarea', array('required' => false, 'label' => 'systemevents.message'))->add('redirectUrl', 'text', array('required' => false, 'label' => 'systemevents.redirecturl'));
 }
Esempio n. 4
0
 /**
  * Add a new field type into the provided FormBuilder
  *
  * @param \Symfony\Component\Form\FormBuilder $formBuilder
  * @param \Sonata\AdminBundle\Admin\FieldDescriptionInterface $fieldDescription
  * @return void
  */
 public function addField(FormBuilder $formBuilder, FieldDescriptionInterface $fieldDescription)
 {
     // There is a bug in the GraphWalker, so for now we always load related associations
     // for more information : https://github.com/symfony/symfony/pull/1056
     if ($formBuilder->getData() && in_array($fieldDescription->getType(), array(ClassMetadataInfo::ONE_TO_MANY, ClassMetadataInfo::MANY_TO_MANY, ClassMetadataInfo::MANY_TO_ONE, ClassMetadataInfo::ONE_TO_ONE))) {
         $value = $fieldDescription->getValue($formBuilder->getData());
         $infos = $fieldDescription->getAssociationMapping();
         if ($value instanceof $infos['targetEntity'] && $value instanceof \Doctrine\ORM\Proxy\Proxy) {
             $relatedId = 'get' . current($fieldDescription->getAdmin()->getModelManager()->getIdentifierFieldNames($infos['targetEntity']));
             $value->{$relatedId}();
             // force to load the lazy loading method __load in the proxy methode
         }
     }
     switch ($fieldDescription->getType()) {
         case ClassMetadataInfo::ONE_TO_MANY:
             $this->getOneToManyField($formBuilder, $fieldDescription);
             break;
         case ClassMetadataInfo::MANY_TO_MANY:
             $this->defineManyToManyField($formBuilder, $fieldDescription);
             break;
         case ClassMetadataInfo::MANY_TO_ONE:
         case ClassMetadataInfo::ONE_TO_ONE:
             $this->defineOneToOneField($formBuilder, $fieldDescription);
             break;
         default:
             list($type, $default_options) = $this->getFormTypeName($fieldDescription);
             $formBuilder->add($fieldDescription->getFieldName(), $type, array_merge($default_options, $fieldDescription->getOption('form_field_options', array())));
     }
 }
Esempio n. 5
0
 public function buildForm(FormBuilder $builder, array $options)
 {
     $data = $builder->getData();
     $builder->add('code', 'text', array('required' => false, 'label' => 'systemevents.code'))->add('description', 'textarea', array('required' => false, 'label' => 'systemevents.description'))->add('bundle', 'hidden')->add('entity', 'hidden')->add('type', 'choice', array('choices' => SystemEvents::getLimitedTypeTypes(), 'multiple' => false, 'empty_data' => null, 'required' => false, 'label' => 'systemevents.type'))->add('actions', 'hidden')->add('ownerType', 'hidden')->add('ownerId', 'hidden');
 }