/** * Display reviewer index page. */ function index($args) { ReviewerHandler::validate(); ReviewerHandler::setupTemplate(); $journal =& Request::getJournal(); $user =& Request::getUser(); $reviewerSubmissionDao =& DAORegistry::getDAO('ReviewerSubmissionDAO'); $rangeInfo = Handler::getRangeInfo('submissions'); $page = isset($args[0]) ? $args[0] : ''; switch ($page) { case 'completed': $active = false; break; default: $page = 'active'; $active = true; } $submissions = $reviewerSubmissionDao->getReviewerSubmissionsByReviewerId($user->getUserId(), $journal->getJournalId(), $active, $rangeInfo); $templateMgr =& TemplateManager::getManager(); $templateMgr->assign('reviewerRecommendationOptions', ReviewAssignment::getReviewerRecommendationOptions()); $templateMgr->assign('pageToDisplay', $page); $templateMgr->assign_by_ref('submissions', $submissions); import('submission.reviewAssignment.ReviewAssignment'); $templateMgr->assign_by_ref('reviewerRecommendationOptions', ReviewAssignment::getReviewerRecommendationOptions()); import('issue.IssueAction'); $issueAction =& new IssueAction(); $templateMgr->register_function('print_issue_id', array($issueAction, 'smartyPrintIssueId')); $templateMgr->assign('helpTopicId', 'editorial.reviewersRole.submissions'); $templateMgr->display('reviewer/index.tpl'); }
/** TODO: * (non-PHPdoc) * @see PKPHandler::validate() */ function validate($meetingId) { parent::validate(); $meetingDao =& DAORegistry::getDAO('MeetingDAO'); $journal =& Request::getJournal(); $user =& Request::getUser(); $isValid = true; $newKey = Request::getUserVar('key'); $meeting =& $meetingDao->getMeetingByMeetingAndUserId($meetingId, $user->getId()); if (!$meeting) { $isValid = false; } elseif ($user && empty($newKey)) { $metingAttendance = $meeting->getMeetingAttendanceOfUser($user->getId()); if (!$metingAttendance) { $isValid = false; } } else { //$user =& MeetingReviewerHandler::validateAccessKey($meeting->getUserId(), $meetingId, $newKey); if (!$user) { $isValid = false; } } if (!$isValid) { Request::redirect(null, Request::getRequestedPage()); } $sectionDecisions = array(); $reviewIds = array(); $map = array(); $meetingSectionDecisionDao =& DAORegistry::getDAO('MeetingSectionDecisionDAO'); $reviewAssignmentDao =& DAORegistry::getDAO('ReviewAssignmentDAO'); $sectionDecisionDao =& DAORegistry::getDAO('SectionDecisionDAO'); $mSectionDecisions = $meetingSectionDecisionDao->getMeetingSectionDecisionsByMeetingId($meeting->getId()); foreach ($mSectionDecisions as $mSectionDecision) { $sectionDecision = $sectionDecisionDao->getSectionDecision($mSectionDecision->getSectionDecisionId()); if ($reviewAssignmentDao->assignmentExistsByArticleAndReviewerId($user->getId(), $sectionDecision->getArticleId())) { $map[$mSectionDecision->getSectionDecisionId()] = $sectionDecision->getArticleId(); } array_push($sectionDecisions, $sectionDecision); } $this->decisionReviewMap =& $map; $this->sectionDecisions =& $sectionDecisions; $this->meeting =& $meeting; $this->user =& $user; return true; }
/** * Handle validation of incoming requests. * @param $request PKPRequest * @param $reviewId int * @param $commentId int optional */ function validate($request, $reviewId, $commentId = null) { parent::validate($request, $reviewId); if ($commentId !== null) { // Bug #8863: Can't call normal addCheck b/c of one-click reviewer // access bypassing normal validation tools (no Request::getUser) $check = new HandlerValidatorSubmissionComment($this, $commentId, $this->user); if (!$check->isValid()) { $request->redirect(null, null, 'index'); } } }