Exemplo n.º 1
0
 /**
  * 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);
 }
Exemplo n.º 2
0
 /**
  * Liefert die erlaubten Rollen für die Optionen im Formularelement.
  * @return array
  */
 public function getSelectOptions()
 {
     return Admin_Form_Document_Persons::getRoles();
 }
Exemplo n.º 3
0
 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'));
 }