18 import(
'lib.pkp.classes.security.authorization.AuthorizationPolicy');
32 function __construct($request, $permitDeclinedOrCancelled =
false) {
33 parent::__construct(
'user.authorization.submissionReviewer');
34 $this->_request = $request;
35 $this->_permitDeclinedOrCancelled = $permitDeclinedOrCancelled;
46 $user = $this->_request->getUser();
47 if (!is_a($user,
'User'))
return AUTHORIZATION_DENY;
51 if (!is_a($submission,
'Submission'))
return AUTHORIZATION_DENY;
55 $reviewAssignment = $reviewAssignmentDao->getLastReviewRoundReviewAssignmentByReviewer($submission->getId(), $user->getId());
58 if (!is_a($reviewAssignment,
'ReviewAssignment'))
return AUTHORIZATION_DENY;
61 if (!$this->_permitDeclinedOrCancelled && ($reviewAssignment->getDeclined()))
return AUTHORIZATION_DENY;
65 return AUTHORIZATION_PERMIT;