/** * Internal function to return a review assignment object from a row. * @param $row array * @return ReviewAssignment */ function &_returnReviewAssignmentFromRow(&$row) { $reviewAssignment = new ReviewAssignment(); $reviewAssignment->setId($row['review_id']); $reviewAssignment->setPaperId($row['paper_id']); $reviewAssignment->setReviewerId($row['reviewer_id']); $reviewAssignment->setReviewerFullName($row['first_name'] . ' ' . $row['last_name']); $reviewAssignment->setRecommendation($row['recommendation']); $reviewAssignment->setDateAssigned($this->datetimeFromDB($row['date_assigned'])); $reviewAssignment->setDateNotified($this->datetimeFromDB($row['date_notified'])); $reviewAssignment->setDateConfirmed($this->datetimeFromDB($row['date_confirmed'])); $reviewAssignment->setDateCompleted($this->datetimeFromDB($row['date_completed'])); $reviewAssignment->setDateAcknowledged($this->datetimeFromDB($row['date_acknowledged'])); $reviewAssignment->setDateDue($this->datetimeFromDB($row['date_due'])); $reviewAssignment->setLastModified($this->datetimeFromDB($row['last_modified'])); $reviewAssignment->setDeclined($row['declined']); $reviewAssignment->setReplaced($row['replaced']); $reviewAssignment->setCancelled($row['cancelled']); $reviewAssignment->setReviewerFileId($row['reviewer_file_id']); $reviewAssignment->setQuality($row['quality']); $reviewAssignment->setDateRated($this->datetimeFromDB($row['date_rated'])); $reviewAssignment->setDateReminded($this->datetimeFromDB($row['date_reminded'])); $reviewAssignment->setReminderWasAutomatic($row['reminder_was_automatic']); $reviewAssignment->setStage($row['stage']); $reviewAssignment->setReviewFileId($row['review_file_id']); $reviewAssignment->setReviewRevision($row['review_revision']); $reviewAssignment->setReviewFormId($row['review_form_id']); $reviewAssignment->setCommentAuthor($row['comment_author']); $reviewAssignment->setCommentDirector($row['comment_director']); $reviewAssignment->setCommentSurvey($row['comment_survey']); // Files $reviewAssignment->setReviewFile($this->paperFileDao->getPaperFile($row['review_file_id'], $row['review_revision'])); $reviewAssignment->setReviewerFile($this->paperFileDao->getPaperFile($row['reviewer_file_id'])); $reviewAssignment->setReviewerFileRevisions($this->paperFileDao->getPaperFileRevisions($row['reviewer_file_id'])); $reviewAssignment->setSuppFiles($this->suppFileDao->getSuppFilesByPaper($row['paper_id'])); // Comments $reviewAssignment->setMostRecentPeerReviewComment($this->paperCommentDao->getMostRecentPaperComment($row['paper_id'], COMMENT_TYPE_PEER_REVIEW, $row['review_id'])); HookRegistry::call('ReviewAssignmentDAO::_returnReviewAssignmentFromRow', array(&$reviewAssignment, &$row)); return $reviewAssignment; }