/** * Rejects documents and adds the given Person as referee. * * @param array $docIds * @param mixed $userId * @param Opus_Person $person * * FIXME capture success or failure for display afterwards */ public function reject(array $docIds = null, $userId = null, $person = null) { $logger = Zend_Registry::get('Zend_Log'); foreach ($docIds as $docId) { $logger->debug('Deleting document with id: ' . $docId); $document = new Opus_Document($docId); if (isset($person)) { $document->addPersonReferee($person); } $enrichment = $document->addEnrichment(); $enrichment->setKeyName('review.rejected_by')->setValue($userId); $document->delete(); } return; }
/** * Performs state change on document. * @param Opus_Document $document * @param string $targetState * * TODO enforcing permissions and throwing exceptions (OPUSVIER-1959) */ public function changeState($document, $targetState) { switch ($targetState) { case 'deleted': $document->delete(); break; case 'removed': $document->deletePermanent(); break; default: $document->setServerState($targetState); $document->store(); break; } }