TrackDirectorAction::addReviewForm($trackDirectorSubmission, $reviewAssignment->getReviewId(), 1);
RickMath wrote:If you have any suggestions on how to assign review forms to track I would like to see how to do this.
$paperId = $trackDirectorSubmission->getPaperId();
$paperDao = &DaoRegistry::getDAO('PaperDAO');
$paper = &$paperDao->getPaper($paperId);
$trackId = $paper->getTrackId() if ($trackId == 7) $formId = 2;
else $formId = 1; function addReviewer($trackDirectorSubmission, $reviewerId, $stage) {
$trackDirectorSubmissionDao =& DAORegistry::getDAO('TrackDirectorSubmissionDAO');
$reviewAssignmentDao =& DAORegistry::getDAO('ReviewAssignmentDAO');
$userDao =& DAORegistry::getDAO('UserDAO');
$user =& Request::getUser();
$reviewer =& $userDao->getUser($reviewerId);
// Check to see if the requested reviewer is not already
// assigned to review this paper.
if ($stage == null) {
$stage = $trackDirectorSubmission->getCurrentStage();
}
$assigned = $trackDirectorSubmissionDao->reviewerExists($trackDirectorSubmission->getPaperId(), $reviewerId, $stage);
// Only add the reviewer if he has not already
// been assigned to review this paper.
if (!$assigned && isset($reviewer) && !HookRegistry::call('TrackDirectorAction::addReviewer', array(&$trackDirectorSubmission, $reviewerId))) {
$reviewAssignment = new ReviewAssignment();
$reviewAssignment->setReviewerId($reviewerId);
$reviewAssignment->setDateAssigned(Core::getCurrentDate());
$reviewAssignment->setStage($stage);
// Assign review form automatically if needed
$schedConfId = $trackDirectorSubmission->getSchedConfId();
$schedConfDao =& DAORegistry::getDAO('SchedConfDAO');
$schedConf =& $schedConfDao->getSchedConf($schedConfId);
$conferenceId = $schedConf->getConferenceId();
$trackDao =& DAORegistry::getDAO('TrackDAO');
$reviewFormDao =& DAORegistry::getDAO('ReviewFormDAO');
$trackId = $trackDirectorSubmission->getTrackId();
$track =& $trackDao->getTrack($trackId, $conferenceId);
if ($track && ($reviewFormId = (int) $track->getReviewFormId())) {
if ($reviewFormDao->reviewFormExists($reviewFormId, ASSOC_TYPE_CONFERENCE, $conferenceId)) {
$reviewAssignment->setReviewFormId($reviewFormId);
}
}
$trackDirectorSubmission->addReviewAssignment($reviewAssignment);
$trackDirectorSubmissionDao->updateTrackDirectorSubmission($trackDirectorSubmission);
$reviewAssignment = $reviewAssignmentDao->getReviewAssignment($trackDirectorSubmission->getPaperId(), $reviewerId, $stage);
$schedConf =& Request::getSchedConf();
if ($schedConf->getSetting('reviewDeadlineType') != null) {
if ($schedConf->getSetting('reviewDeadlineType') == REVIEW_DEADLINE_TYPE_ABSOLUTE) {
TrackDirectorAction::setDueDate($trackDirectorSubmission->getPaperId(), $reviewAssignment->getId(), $schedConf->getSetting('numWeeksPerReviewAbsolute'), null, false);
} elseif ($schedConf->getSetting('reviewDeadlineType') == REVIEW_DEADLINE_TYPE_RELATIVE) {
TrackDirectorAction::setDueDate($trackDirectorSubmission->getPaperId(), $reviewAssignment->getId(), null, $schedConf->getSetting('numWeeksPerReviewRelative'), false);
}
}
// Add log
import('paper.log.PaperLog');
import('paper.log.PaperEventLogEntry');
PaperLog::logEvent($trackDirectorSubmission->getPaperId(), PAPER_LOG_REVIEW_ASSIGN, LOG_TYPE_REVIEW, $reviewAssignment->getId(), 'log.review.reviewerAssigned', array('reviewerName' => $reviewer->getFullName(), 'paperId' => $trackDirectorSubmission->getPaperId(), 'stage' => $stage));
}
}
Return to OCS Conference Support and Discussion
Users browsing this forum: No registered users and 1 guest