/** * Setzt die ausgewählte Rolle. * * Wenn eine unbekannte Rolle übergeben wird, wird die 'author' Rolle verwendet. * * @param string $role Rolle der Person für Dokument */ public function setSelectedRole($role) { if (!in_array($role, Admin_Form_Document_Persons::getRoles())) { $this->getLog()->err(__METHOD__ . " Called with unknown role '{$role}'."); $role = 'author'; } $this->getSubForm(self::SUBFORM_DOCUMENT)->getElement(Admin_Form_PersonLink::ELEMENT_ROLE)->setValue($role); }
/** * Liefert die erlaubten Rollen für die Optionen im Formularelement. * @return array */ public function getSelectOptions() { return Admin_Form_Document_Persons::getRoles(); }
public function testAddPersonSortOrderEqualsExistingPersonCount() { $form = new Admin_Form_Document_Persons(); $this->assertEquals(0, count($form->getSubForm('editor')->getSubForms()), 'Es sollte keinen Editor geben.'); $form->addPerson(array('person' => 310, 'role' => 'editor')); $form->addPerson(array('person' => 311, 'role' => 'editor')); $this->assertEquals(2, count($form->getSubForm('editor')->getSubForms()), 'Es sollte zwei Personen geben.'); $subform = $form->getSubForm('editor')->getSubForm('PersonEditor0'); $this->assertNotNull($subform); $this->assertEquals(310, $subform->getElementValue('PersonId')); $subform = $form->getSubForm('editor')->getSubForm('PersonEditor1'); $this->assertNotNull($subform); $this->assertEquals(311, $subform->getElementValue('PersonId')); $form->addPerson(array('person' => 312, 'role' => 'editor', 'order' => 2)); $this->assertEquals(310, $form->getSubForm('editor')->getSubForm('PersonEditor0')->getElementValue('PersonId')); $this->assertEquals(312, $form->getSubForm('editor')->getSubForm('PersonEditor1')->getElementValue('PersonId')); $this->assertEquals(311, $form->getSubForm('editor')->getSubForm('PersonEditor2')->getElementValue('PersonId')); }