• Main Page
  • Modules
  • Classes
  • Files
  • File List

classes/security/authorization/internal/ReviewAssignmentAccessPolicy.inc.php

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    // Implement template methods from AuthorizationPolicy
00034    //
00038    function effect() {
00039       // Get the user
00040       $user =& $this->_request->getUser();
00041       if (!is_a($user, 'PKPUser')) return AUTHORIZATION_DENY;
00042 
00043       // Get the monograph
00044       $monograph =& $this->getAuthorizedContextObject(ASSOC_TYPE_MONOGRAPH);
00045       if (!is_a($monograph, 'Monograph')) return AUTHORIZATION_DENY;
00046 
00047       // Check if a review assignment exists between the submission and the user
00048       $reviewAssignmentDao =& DAORegistry::getDAO('ReviewAssignmentDAO'); /* @var $reviewAssignmentDao ReviewAssignmentDAO */
00049       $reviewAssignment =& $reviewAssignmentDao->getLastReviewRoundReviewAssignmentByReviewer($monograph->getId(), $user->getId());
00050 
00051       if (is_a($reviewAssignment, 'ReviewAssignment')) {
00052          // Save the review assignment to the authorization context.
00053          $this->addAuthorizedContextObject(ASSOC_TYPE_REVIEW_ASSIGNMENT, $reviewAssignment);
00054          return AUTHORIZATION_PERMIT;
00055       } else {
00056          return AUTHORIZATION_DENY;
00057       }
00058    }
00059 }
00060 
00061 ?>

Generated on Mon Sep 17 2012 13:58:55 for Open Monograph Press by  doxygen 1.7.1