public function loadORM(ORM $obj, $namespace = null) { $this->setElementsBelongTo(lcfirst($namespace)); $fields = $obj->ormFields(); foreach ($fields as $field) { if ($obj->legacyORMNaming) { $field = preg_replace_callback('/_(.)/', create_function('$matches', 'return strtoupper($matches[1]);'), $field); } if (!is_object($obj->{$field})) { if (preg_match('/^date.*/', $field)) { $element = $this->createElement('dateText', $field, array('label' => $this->_prettyName($field))); } elseif (preg_match('/.*_id$/', $field)) { $element = $this->createElement('hidden', $field, array('label' => $this->_prettyName($field))); } else { $element = $this->createElement('text', $field, array('label' => $this->_prettyName($field))); } $element->setValue($obj->{$field}); $this->addElement($element); } elseif ($obj->{$field} instanceof ORM) { $sf = new WebVista_Form(); $this->addSubForm($sf, "form" . ucwords($field)); $sf->loadORM($obj->{$field}, $namespace . '[' . lcfirst($field) . ']'); } } }
public function loadORM(ORM $obj, $namespace = null) { $this->setElementsBelongTo(lcfirst($namespace)); $fields = $obj->ormFields(); foreach ($fields as $field) { if (!is_object($obj->{$field})) { if (preg_match('/^date.*/', $field)) { $element = new Zend_Dojo_Form_Element_DateTextBox($field); $element->setLabel($this->_prettyName($field)); } elseif (preg_match('/.*_id$/', $field)) { $element = $this->createElement('hidden', $field, array('label' => $this->_prettyName($field))); } else { $element = $this->createElement('text', $field, array('label' => $this->_prettyName($field))); } $element->setValue($obj->{$field}); $this->addElement($element); } elseif ($obj->{$field} instanceof ORM) { $sf = new WebVista_Form(); $this->addSubForm($sf, "form" . ucwords($field)); $sf->loadORM($obj->{$field}, $namespace . '[' . lcfirst($field) . ']'); } } }
protected function _setORMPersistMode(ORM $orm, $cascadePersist = false) { $fields = $orm->ormFields(); foreach ($fields as $value) { if ($orm->{$value} instanceof ORM) { $orm->{$value}->_cascadePersist = $cascadePersist; $this->_setORMPersistMode($orm->{$value}, $cascadePersist); } } }