15 import(
'lib.pkp.classes.security.authorization.internal.ContextPolicy');
16 import(
'lib.pkp.classes.security.authorization.RoleBasedHandlerOperationPolicy');
26 function __construct($request, $args, $roleAssignments, $stageId) {
27 parent::__construct($request);
30 import(
'lib.pkp.classes.security.authorization.QueryWorkflowStageAccessPolicy');
34 import(
'lib.pkp.classes.security.authorization.internal.QueryRequiredPolicy');
38 import(
'lib.pkp.classes.security.authorization.internal.QueryAssignedToUserAccessPolicy');
44 $queryAccessPolicy =
new PolicySet(COMBINING_PERMIT_OVERRIDES);
49 if (isset($roleAssignments[ROLE_ID_MANAGER])) {
57 if (isset($roleAssignments[ROLE_ID_ASSISTANT])) {
60 $assistantQueryAccessPolicy =
new PolicySet(COMBINING_DENY_OVERRIDES);
64 import(
'lib.pkp.classes.security.authorization.QueryWorkflowStageAccessPolicy');
67 $queryAccessPolicy->addPolicy($assistantQueryAccessPolicy);
73 if (isset($roleAssignments[ROLE_ID_REVIEWER])) {
75 $reviewerQueryAccessPolicy =
new PolicySet(COMBINING_DENY_OVERRIDES);
79 import(
'lib.pkp.classes.security.authorization.QueryWorkflowStageAccessPolicy');
82 $queryAccessPolicy->addPolicy($reviewerQueryAccessPolicy);
88 if (isset($roleAssignments[ROLE_ID_AUTHOR])) {
90 $authorQueryAccessPolicy =
new PolicySet(COMBINING_DENY_OVERRIDES);
94 import(
'lib.pkp.classes.security.authorization.QueryWorkflowStageAccessPolicy');
97 $queryAccessPolicy->addPolicy($authorQueryAccessPolicy);
103 if (isset($roleAssignments[ROLE_ID_SUB_EDITOR])) {
105 $subEditorQueryAccessPolicy =
new PolicySet(COMBINING_DENY_OVERRIDES);
109 import(
'lib.pkp.classes.security.authorization.internal.QueryUserAccessibleWorkflowStageRequiredPolicy');
112 $queryAccessPolicy->addPolicy($subEditorQueryAccessPolicy);
116 return $queryAccessPolicy;