public function processPost($post, $context) { $result = parent::processPost($post, $context); if (is_null($result)) { if (array_key_exists(self::ELEMENT_IMPORT, $post)) { $result = array('result' => Admin_Form_Document::RESULT_SWITCH_TO, 'target' => array('module' => 'admin', 'controller' => 'filebrowser', 'action' => 'index')); } } return $result; }
/** * Überschreibt updateModel damit vorher die SortOrder berücksichtigt werden kann. * @param \Opus_Document $document */ public function updateModel($document) { $this->sortSubFormsBySortOrder(); parent::updateModel($document); }
/** * Liefert die Schlagwoerter mit dem richtigen Typ. * * @param Opus_Document $document * @return array */ public function getFieldValues($document) { $values = parent::getFieldValues($document); $subjects = array(); foreach ($values as $value) { if ($value->getType() == $this->__subjectType) { $subjects[] = $value; } } return $subjects; }
public function testSubformsAppearInOrderOfObjects() { $form = new Admin_Form_Document_MultiSubForm('Admin_Form_Document_Identifier', 'Identifier'); $doc = new Opus_Document(146); $identifiers = $doc->getIdentifier(); $form->populateFromModel($doc); $this->assertEquals(count($identifiers), count($form->getSubForms())); $index = 0; foreach ($form->getSubForms() as $name => $subform) { $this->assertEquals($identifiers[$index]->getId(), $subform->getElement('Id')->getValue(), "Subform {$name} should habe been at position {$index}."); $index++; } }
/** * Liefert Array mit Haupttiteln des Dokuments. * * Sorgt dafuer, dass der Titel in der Dokumentensprache zuerst im Array steht. * * @param Opus_Document $document * @return array */ public function getFieldValues($document) { $values = parent::getFieldValues($document); $doclang = $document->getLanguage(); $sortedValues = array(); foreach ($values as $index => $value) { if ($value->getLanguage() == $doclang) { $sortedValues[] = $value; unset($values[$index]); break; } } return array_merge($sortedValues, $values); }