/** * @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; }
protected function addSubmitButtons() { parent::addSubmitButtons(); $this->addSubmit("saveAndNext"); $this->addSubmit("prev"); $this->addSubmit("next"); }
public function updateObject($values = null) { $object = parent::updateObject(null); $this->updateCompany(); return $object; }
/** * @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; }