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
00034
00038 function effect() {
00039
00040 $monograph =& $this->getAuthorizedContextObject(ASSOC_TYPE_MONOGRAPH);
00041 if (!is_a($monograph, 'Monograph')) return AUTHORIZATION_DENY;
00042
00043
00044 $stageId = $this->getAuthorizedContextObject(ASSOC_TYPE_WORKFLOW_STAGE);
00045 if (!is_numeric($stageId)) return AUTHORIZATION_DENY;
00046
00047 $stageAssignmentDao =& DAORegistry::getDAO('StageAssignmentDAO');
00048 if ($stageAssignmentDao->editorAssignedToStage($monograph->getId(), $stageId)) {
00049 return AUTHORIZATION_PERMIT;
00050 } else {
00051 return AUTHORIZATION_DENY;
00052 }
00053 }
00054 }
00055
00056 ?>