15 import(
'lib.pkp.controllers.grid.users.reviewer.form.ReviewerNotifyActionForm');
24 function __construct($reviewAssignment, $reviewRound, $submission) {
25 parent::__construct($reviewAssignment, $reviewRound, $submission,
'controllers/grid/users/reviewer/form/unassignReviewerForm.tpl');
32 return 'REVIEW_CANCEL';
40 if (!parent::execute(...$functionArgs))
return false;
51 if (isset($reviewAssignment) && $reviewAssignment->getSubmissionId() == $submission->getId() && !
HookRegistry::call(
'EditorAction::clearReview', array(&$submission, $reviewAssignment))) {
52 $reviewer = $userDao->getById($reviewAssignment->getReviewerId());
53 if (!isset($reviewer))
return false;
54 if ($reviewAssignment->getDateConfirmed()) {
56 $reviewAssignment->setCancelled(
true);
57 $reviewAssignmentDao->updateObject($reviewAssignment);
60 $reviewAssignmentDao->deleteById($reviewAssignment->getId());
64 $submission->stampModified();
65 $submissionDao->updateObject($submission);
68 $notificationDao->deleteByAssoc(
69 ASSOC_TYPE_REVIEW_ASSIGNMENT,
70 $reviewAssignment->getId(),
71 $reviewAssignment->getReviewerId(),
72 NOTIFICATION_TYPE_REVIEW_ASSIGNMENT
76 $currentUser = $request->getUser();
78 $notificationMgr->createTrivialNotification($currentUser->getId(), NOTIFICATION_TYPE_SUCCESS, array(
'contents' => $reviewAssignment->getDateConfirmed()?__(
'notification.cancelledReviewer'):__(
'notification.removedReviewer')));
81 import(
'lib.pkp.classes.log.SubmissionLog');
82 import(
'classes.log.SubmissionEventLogEntry');
83 SubmissionLog::logEvent($request, $submission, SUBMISSION_LOG_REVIEW_CLEAR,
'log.review.reviewCleared', array(
'reviewAssignmentId' => $reviewAssignment->getId(),
'reviewerName' => $reviewer->getFullName(),
'submissionId' => $submission->getId(),
'stageId' => $reviewAssignment->getStageId(),
'round' => $reviewAssignment->getRound()));