00001 <?php
00017 import('lib.pkp.classes.security.authorization.AuthorizationPolicy');
00018
00019 class ReviewAssignmentAccessPolicy extends AuthorizationPolicy {
00021 var $_request;
00022
00027 function ReviewAssignmentAccessPolicy(&$request) {
00028 parent::AuthorizationPolicy('user.authorization.monographReviewer');
00029 $this->_request =& $request;
00030 }
00031
00032
00033
00034
00038 function effect() {
00039
00040 $user =& $this->_request->getUser();
00041 if (!is_a($user, 'PKPUser')) return AUTHORIZATION_DENY;
00042
00043
00044 $monograph =& $this->getAuthorizedContextObject(ASSOC_TYPE_MONOGRAPH);
00045 if (!is_a($monograph, 'Monograph')) return AUTHORIZATION_DENY;
00046
00047
00048 $reviewAssignmentDao =& DAORegistry::getDAO('ReviewAssignmentDAO');
00049 $reviewAssignment =& $reviewAssignmentDao->getLastReviewRoundReviewAssignmentByReviewer($monograph->getId(), $user->getId());
00050
00051 if (is_a($reviewAssignment, 'ReviewAssignment')) {
00052
00053 $this->addAuthorizedContextObject(ASSOC_TYPE_REVIEW_ASSIGNMENT, $reviewAssignment);
00054 return AUTHORIZATION_PERMIT;
00055 } else {
00056 return AUTHORIZATION_DENY;
00057 }
00058 }
00059 }
00060
00061 ?>