Open Journal Systems  3.3.0
ManagerRequiredPolicy.inc.php
1 <?php
18 import('lib.pkp.classes.security.authorization.AuthorizationPolicy');
19 
22  var $_request;
23 
28  function __construct($request) {
29  parent::__construct('user.authorization.managerRequired');
30  $this->_request = $request;
31  }
32 
33  //
34  // Implement template methods from AuthorizationPolicy
35  //
39  function effect() {
40  // Get the submission
41  $submission = $this->getAuthorizedContextObject(ASSOC_TYPE_SUBMISSION);
42  if (!is_a($submission, 'Submission')) return AUTHORIZATION_DENY;
43 
44  // Get the stage
45  $stageId = $this->getAuthorizedContextObject(ASSOC_TYPE_WORKFLOW_STAGE);
46  if (!is_numeric($stageId)) return AUTHORIZATION_DENY;
47 
48  $stageAssignmentDao = DAORegistry::getDAO('StageAssignmentDAO'); /* @var $stageAssignmentDao StageAssignmentDAO */
49  if ($stageAssignmentDao->editorAssignedToStage($submission->getId(), $stageId)) {
50  return AUTHORIZATION_PERMIT;
51  } else {
52  return AUTHORIZATION_DENY;
53  }
54  }
55 }
56 
57 
ManagerRequiredPolicy\__construct
__construct($request)
Definition: ManagerRequiredPolicy.inc.php:31
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
ManagerRequiredPolicy
Class to prevent access unless a manager is assigned to the stage.
Definition: ManagerRequiredPolicy.inc.php:20
AuthorizationPolicy\getAuthorizedContextObject
& getAuthorizedContextObject($assocType)
Definition: AuthorizationPolicy.inc.php:117
ManagerRequiredPolicy\$_request
$_request
Definition: ManagerRequiredPolicy.inc.php:25
AuthorizationPolicy
Class to represent an authorization policy.
Definition: AuthorizationPolicy.inc.php:31
ManagerRequiredPolicy\effect
effect()
Definition: ManagerRequiredPolicy.inc.php:42