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; }
/** * Verarbeitet die POST Daten für dieses Formular. * @param array $post * @param array $context * @return string */ public function processPost($post, $context) { $result = parent::processPost($post, $context); if (!is_null($result)) { $action = is_array($result) ? $result['result'] : $result; switch ($action) { case Admin_Form_Document_PersonMoves::RESULT_MOVE: $move = $result['move']; $subFormName = $result['subformName']; $this->moveSubForm($subFormName, $move); $result = Admin_Form_Document::RESULT_SHOW; break; case Admin_Form_Document::RESULT_SWITCH_TO: // Ergebnis (Edit) mit Rolle anreichern $result['target']['role'] = $this->_roleName; break; default: // do nothing break; } } $this->sortSubFormsBySortOrder(); return $result; }
public function testOddEvenAfterRemove() { $form = new Admin_Form_Document_MultiSubForm('Admin_Form_Document_Title', 'TitleParent'); $document = $this->createTestDocument(); $title = new Opus_Title(); $title->setValue('Titel1'); $title->setLanguage('deu'); $document->addTitleParent($title); $title = new Opus_Title(); $title->setValue('Titel2'); $title->setLanguage('eng'); $document->addTitleParent($title); $title = new Opus_Title(); $title->setValue('Titel3'); $title->setLanguage('rus'); $document->addTitleParent($title); $form->populateFromModel($document); $post = array('TitleParent1' => array('Remove' => 'Entfernen')); $form->processPost($post, $post); $this->assertEquals(2, count($form->getSubForms())); $this->assertEquals('multiple-wrapper even', $form->getSubform('TitleParent0')->getDecorator('multiWrapper')->getOption('class')); $this->assertEquals('multiple-wrapper odd', $form->getSubform('TitleParent1')->getDecorator('multiWrapper')->getOption('class')); }