public function testPopulateFromModel() { $this->useEnglish(); $form = new Admin_Form_Person(); $person = new Opus_Person(); $person->setFirstName('John'); $person->setLastName('Doe'); $person->setAcademicTitle('PhD'); $person->setPlaceOfBirth('Berlin'); $datesHelper = $form->getDatesHelper(); $person->setDateOfBirth($datesHelper->getOpusDate('1990/01/01')); $person->setEmail('*****@*****.**'); $person->setIdentifierGnd('1234'); $person->setIdentifierOrcid('3456'); $person->setIdentifierMisc('5678'); $person->store(); $form->populateFromModel($person); $personId = $person->getId(); $person->delete(); $this->assertEquals($personId, $form->getElement('PersonId')->getValue()); $this->assertEquals($person->getLastName(), $form->getElement('LastName')->getValue()); $this->assertEquals($person->getFirstName(), $form->getElement('FirstName')->getValue()); $this->assertEquals($person->getAcademicTitle(), $form->getElement('AcademicTitle')->getValue()); $this->assertEquals($person->getEmail(), $form->getElement('Email')->getValue()); $this->assertEquals($person->getPlaceOfBirth(), $form->getElement('PlaceOfBirth')->getValue()); $this->assertEquals('1990/01/01', $form->getElement('DateOfBirth')->getValue()); $this->assertEquals($form->getElement('IdentifierGnd')->getValue(), '1234'); $this->assertEquals($form->getElement('IdentifierOrcid')->getValue(), '3456'); $this->assertEquals($form->getElement('IdentifierMisc')->getValue(), '5678'); }
$doc->setContributingCorporation(randString($counter++)); // // Persons // $submitter = new Opus_Person(); $submitter->getField('Email')->setValidator(null); $submitter->setFirstName(randString($counter++))->setLastName(randString($counter++))->setEmail(randString($counter++))->setAcademicTitle(randString($counter++))->setDateOfBirth(randString($counter++))->setPlaceOfBirth(randString($counter++)); $doc->addPersonSubmitter($submitter); $author = new Opus_Person(); $author->getField('Email')->setValidator(null); $author->setFirstName(randString($counter++))->setLastName(randString($counter++))->setEmail(randString($counter++))->setAcademicTitle(randString($counter++))->setDateOfBirth(randString($counter++))->setPlaceOfBirth(randString($counter++)); $doc->addPersonAuthor($author); $referee = new Opus_Person(); $referee->setFirstName('Gyro' . randString($counter++)); $referee->setLastName('Gearloose' . randString($counter++)); $referee->setAcademicTitle('Prof. Dr.' . randString($counter++)); $doc->addPersonReferee($referee); $editor = new Opus_Person(); $editor->setFirstName('Bob' . randString($counter++)); $editor->setLastName('Foster' . randString($counter++)); $doc->addPersonEditor($editor); $advisor = new Opus_Person(); $advisor->setFirstName('Fred' . randString($counter++)); $advisor->setLastName('Clever' . randString($counter++)); $doc->addPersonAdvisor($advisor); $translator = new Opus_Person(); $translator->setFirstName('Erika' . randString($counter++)); $translator->setLastName('Fuchs' . randString($counter++)); $doc->addPersonTranslator($translator); $contributor = new Opus_Person(); $contributor->setFirstName('Jeff' . randString($counter++));
$dnbInstitute->setName('Forschungsinstitut für Code Coverage'); foreach (Opus_DnbInstitute::getGrantors() as $grantor) { if ($dnbInstitute->getName() === $grantor->getName()) { $dnbInstitute = $grantor; break; } } if (is_null($dnbInstitute->getId()) === true) { $dnbInstitute->setCity('Mousetown')->setIsGrantor(1)->store(); } $doc->setThesisGrantor($dnbInstitute); $doc->setThesisPublisher($dnbInstitute); $referee = new Opus_Person(); $referee->setFirstName('Gyro'); $referee->setLastName('Gearloose'); $referee->setAcademicTitle('Prof. Dr.'); $referee->store(); $doc->addPersonReferee($referee); $editor = new Opus_Person(); $editor->setFirstName('Bob'); $editor->setLastName('Foster'); $editor->store(); $doc->addPersonEditor($editor); $advisor = new Opus_Person(); $advisor->setFirstName('Fred'); $advisor->setLastName('Clever'); $advisor->store(); $doc->addPersonAdvisor($advisor); $translator = new Opus_Person(); $translator->setFirstName('Erika'); $translator->setLastName('Fuchs');
/** * Setzt die Felder einer Opus_Person Instanz entsprechend dem Formularinhalt. * @param Opus_Person $model */ public function updateModel($model) { if ($model instanceof Opus_Person) { $model->setAcademicTitle($this->getElementValue(self::ELEMENT_ACADEMIC_TITLE)); $model->setLastName($this->getElementValue(self::ELEMENT_LAST_NAME)); $model->setFirstName($this->getElementValue(self::ELEMENT_FIRST_NAME)); $model->setEmail($this->getElementValue(self::ELEMENT_EMAIL)); $model->setPlaceOfBirth($this->getElementValue(self::ELEMENT_PLACE_OF_BIRTH)); $model->setIdentifierGnd($this->getElementValue(self::ELEMENT_IDENTIFIER_GND)); $model->setIdentifierOrcid($this->getElementValue(self::ELEMENT_IDENTIFIER_ORCID)); $model->setIdentifierMisc($this->getElementValue(self::ELEMENT_IDENTIFIER_MISC)); $datesHelper = $this->getDatesHelper(); $model->setDateOfBirth($datesHelper->getOpusDate($this->getElementValue(self::ELEMENT_DATE_OF_BIRTH))); } else { $this->getLog()->err(__METHOD__ . ' called with object that is not instance of Opus_Person'); } }