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

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

00001 <?php
00017 import('lib.pkp.classes.security.authorization.AuthorizationPolicy');
00018 
00019 class PressManagerRequiredPolicy extends AuthorizationPolicy {
00021    var $_request;
00022 
00027    function PressManagerRequiredPolicy(&$request) {
00028       parent::AuthorizationPolicy('user.authorization.pressManagerRequired');
00029       $this->_request =& $request;
00030    }
00031 
00032    //
00033    // Implement template methods from AuthorizationPolicy
00034    //
00038    function effect() {
00039       // Get the monograph
00040       $monograph =& $this->getAuthorizedContextObject(ASSOC_TYPE_MONOGRAPH);
00041       if (!is_a($monograph, 'Monograph')) return AUTHORIZATION_DENY;
00042 
00043       // Get the stage
00044       $stageId = $this->getAuthorizedContextObject(ASSOC_TYPE_WORKFLOW_STAGE);
00045       if (!is_numeric($stageId)) return AUTHORIZATION_DENY;
00046 
00047       $stageAssignmentDao =& DAORegistry::getDAO('StageAssignmentDAO'); /* @var $stageAssignmentDao StageAssignmentDAO */
00048       if ($stageAssignmentDao->editorAssignedToStage($monograph->getId(), $stageId)) {
00049          return AUTHORIZATION_PERMIT;
00050       } else {
00051          return AUTHORIZATION_DENY;
00052       }
00053    }
00054 }
00055 
00056 ?>

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