Exemple #1
0
 /**
  * @return EntityForm
  */
 public function create()
 {
     $form = new EntityForm();
     //$form->elementPrototype->addAttributes(["class" => "ajax"]);
     $form->setTranslator($this->translator);
     $renderer = new Bs3FormRenderer();
     $form->setRenderer($renderer);
     return $form;
 }
Exemple #2
0
 protected function addSubmitButtons()
 {
     parent::addSubmitButtons();
     $this->addSubmit("saveAndNext");
     $this->addSubmit("prev");
     $this->addSubmit("next");
 }
Exemple #3
0
 public function updateObject($values = null)
 {
     $object = parent::updateObject(null);
     $this->updateCompany();
     return $object;
 }
Exemple #4
0
 /**
  * @param EntityForm $form
  * @return object
  */
 public function buildEntity(EntityForm $form)
 {
     $entity = $this->entities[$form];
     $class = null;
     if (is_object($entity)) {
         $class = get_class($entity);
     } else {
         $class = $entity;
         $entity = null;
     }
     $metadata = $this->loader->load($class);
     $values = array();
     foreach ($metadata as $name => $meta) {
         $values[$name] = $this->getMapper($meta)->toPropertyValue($form[$name], $meta);
     }
     if ($form->hasErrors()) {
         return null;
     }
     if (!$entity) {
         $ref = new \ReflectionClass($class);
         $entity = null;
         if ($ref->hasMethod('__construct')) {
             $args = array();
             foreach ($ref->getMethod('__construct')->getParameters() as $param) {
                 $args[] = $values[$param->getName()];
                 unset($values[$param->getName()]);
             }
             $entity = $ref->newInstanceArgs($args);
         } else {
             $entity = $ref->newInstance();
         }
     }
     foreach ($values as $name => $value) {
         $setter = $metadata[$name]->setter;
         $entity->{$setter}($value);
     }
     return $entity;
 }