00001 <?php
00014 import('classes.security.authorization.internal.PressPolicy');
00015 import('lib.pkp.classes.security.authorization.PolicySet');
00016
00017 class OmpReviewStageAccessPolicy extends PressPolicy {
00026 function OmpReviewStageAccessPolicy(&$request, &$args, $roleAssignments, $submissionParameterName = 'monographId', $stageId) {
00027 parent::PressPolicy($request);
00028
00029
00030
00031 $workflowStagePolicy = new PolicySet(COMBINING_PERMIT_OVERRIDES);
00032
00033
00034 import('classes.security.authorization.OmpWorkflowStageAccessPolicy');
00035 $workflowStagePolicy->addPolicy(new OmpWorkflowStageAccessPolicy($request, $args, $roleAssignments, $submissionParameterName, $stageId));
00036
00037 if ($stageId == WORKFLOW_STAGE_ID_INTERNAL_REVIEW || $stageId == WORKFLOW_STAGE_ID_EXTERNAL_REVIEW) {
00038
00039 import('classes.security.authorization.OmpSubmissionAccessPolicy');
00040 $submissionPolicy = new OmpSubmissionAccessPolicy($request, $args, $roleAssignments, $submissionParameterName);
00041 $submissionPolicy->addPolicy(new WorkflowStageRequiredPolicy($stageId));
00042 $workflowStagePolicy->addPolicy($submissionPolicy);
00043 }
00044
00045
00046 $this->addPolicy($workflowStagePolicy);
00047 }
00048 }
00049
00050 ?>