public function testPopulateFromModel()
 {
     $form = new Admin_Form_PersonLink();
     $model = new Opus_Model_Dependent_Link_DocumentPerson();
     $person = new Opus_Person(310);
     // von Testdokument 250 (Personensortierung)
     $model->setModel($person);
     $model->setSortOrder(5);
     $model->setAllowEmailContact(true);
     $model->setRole('advisor');
     $form->populateFromModel($model);
     $this->assertEquals(310, $form->getElementValue('PersonId'));
     $this->assertEquals(5, $form->getElementValue('SortOrder'));
     $this->assertTrue($form->getElementValue('AllowContact'));
     $this->assertEquals('advisor', $form->getElementValue('Role'));
 }
Example #2
0
 /**
  * Setzt Werte im Model mit dem Inhalt der Formularelemente.
  * @param Opus_Model_Dependent_Link_DocumentPerson $personLink
  */
 public function updateModel($personLink)
 {
     if ($personLink instanceof Opus_Model_Dependent_Link_DocumentPerson) {
         $personLink->setAllowEmailContact($this->getElementValue(self::ELEMENT_ALLOW_CONTACT));
         $personLink->setSortOrder($this->getElementValue(self::ELEMENT_SORT_ORDER));
         $personLink->setRole($this->getElementValue(self::ELEMENT_ROLE));
     } else {
         $this->getLog()->err(__METHOD__ . self::BAD_MODEL_MESSAGE);
     }
 }
 public function testTranslationOfDocumentPersonFields()
 {
     $model = new Opus_Model_Dependent_Link_DocumentPerson();
     $target = new Opus_Person();
     $model->setModel($target);
     $fieldNames = $model->describe();
     foreach ($fieldNames as $name) {
         $key = $this->helper->getKeyForField('Opus_Person', $name);
         $this->assertTrue($this->translate->isTranslated($key), 'Translation key \'' . $key . '\' is missing.');
     }
 }
Example #4
0
 /**
  * Liefert angezeigtes Model.
  * 
  * Die ID für ein Opus_Model_Dependent_Link_DocumentPerson Objekt setzt sich aus Dokument-ID, Person-ID und Rolle
  * zusammen.
  * 
  * @param int $documentId Identifier für das Dokument
  * @return \Opus_Model_Dependent_Link_DocumentPerson
  * 
  * TODO rename in getModel() !!!Konflikt mit getModel in PersonLink auflösen
  * TODO personId darf nicht null sein
  */
 public function getLinkModel($documentId, $role)
 {
     $personId = $this->getElementValue(Admin_Form_Person::ELEMENT_PERSON_ID);
     try {
         $personLink = new Opus_Model_Dependent_Link_DocumentPerson(array($personId, $documentId, $role));
     } catch (Opus_Model_NotFoundException $opnfe) {
         $personLink = new Opus_Model_Dependent_Link_DocumentPerson();
         $person = new Opus_Person($personId);
         $personLink->setModel($person);
     }
     $this->updateModel($personLink);
     $personLink->setRole($role);
     if (Zend_Registry::get('LOG_LEVEL') >= Zend_Log::DEBUG) {
         $log = $this->getLog();
         $log->debug(Zend_Debug::dump($personLink->getId(), 'DocumentPerson-ID', false));
         $log->debug(Zend_Debug::dump($personLink->getRole(), 'DocumentPerson-Role', false));
         $log->debug(Zend_Debug::dump($personLink->getSortOrder(), 'DocumentPerson-SortOrder', false));
         $log->debug(Zend_Debug::dump($personLink->getAllowEmailContact(), 'DocumentPerson->AllowEmailContact', false));
         $log->debug(Zend_Debug::dump($personLink->getModel()->getId(), 'DocumentPerson-Model-ID', false));
     }
     return $personLink;
 }