/** * @copydoc PKPHandler::authorize() */ function authorize($request, &$args, $roleAssignments) { $stageId = (int) $request->getUserVar('stageId'); import('lib.pkp.classes.security.authorization.WorkflowStageAccessPolicy'); $this->addPolicy(new WorkflowStageAccessPolicy($request, $args, $roleAssignments, 'submissionId', $stageId)); return parent::authorize($request, $args, $roleAssignments); }
/** * @copydoc PKPHandler::authorize() */ function authorize($request, &$args, $roleAssignments) { import('lib.pkp.classes.security.authorization.PkpContextAccessPolicy'); $this->addPolicy(new PkpContextAccessPolicy($request, $roleAssignments)); import('classes.security.authorization.OjsIssueRequiredPolicy'); $this->addPolicy(new OjsIssueRequiredPolicy($request, $args)); return parent::authorize($request, $args, $roleAssignments); }
/** * @copydoc PKPHandler::authorize() */ function authorize($request, &$args, $roleAssignments) { import('lib.pkp.classes.security.authorization.PolicySet'); $rolePolicy = new PolicySet(COMBINING_PERMIT_OVERRIDES); import('lib.pkp.classes.security.authorization.RoleBasedHandlerOperationPolicy'); foreach ($roleAssignments as $role => $operations) { $rolePolicy->addPolicy(new RoleBasedHandlerOperationPolicy($request, $role, $operations)); } $this->addPolicy($rolePolicy); return parent::authorize($request, $args, $roleAssignments); }
/** * @copydoc PKPHandler::authorize() */ function authorize($request, &$args, $roleAssignments) { import('classes.security.authorization.WorkflowStageAccessPolicy'); // push this policy to the top of the stack since policies in sub-classes depend on a valid submission object. $this->addPolicy(new WorkflowStageAccessPolicy($request, $args, $roleAssignments, 'submissionId', $this->getStageId()), true); // If a signoff ID was specified, authorize it. if ($request->getUserVar('signoffId')) { import('classes.security.authorization.SignoffAccessPolicy'); // context specific. $this->addPolicy(new SignoffAccessPolicy($request, $args, $roleAssignments, SIGNOFF_ACCESS_MODIFY, $this->getStageId())); } return parent::authorize($request, $args, $roleAssignments); }
/** * @copydoc PKPHandler::authorize() */ function authorize($request, &$args, $roleAssignments) { import('lib.pkp.classes.security.authorization.PkpContextAccessPolicy'); $this->addPolicy(new PkpContextAccessPolicy($request, $roleAssignments)); $returner = parent::authorize($request, $args, $roleAssignments); $footerLinkId = $request->getUserVar('footerLinkId'); if ($footerLinkId) { $context = $request->getContext(); $footerLinkDao = DAORegistry::getDAO('FooterLinkDAO'); $footerLink = $footerLinkDao->getById($footerLinkId, $context->getId()); if (!isset($footerLink)) { return false; } } return $returner; }
/** * @copydoc PKPHandler::authorize() */ function authorize($request, &$args, $roleAssignments) { // Set the stage id from the request parameter if not set previously. if (!$this->getStageId()) { $stageId = (int) $request->getUserVar('stageId'); // This will be validated with the authorization policy added by // the grid data provider. $this->_stageId = $stageId; } $dataProvider = $this->getDataProvider(); $dataProvider->setStageId($this->getStageId()); return parent::authorize($request, $args, $roleAssignments); }
/** * @see PKPHandler::authorize() * @param $request PKPRequest * @param $args array * @param $roleAssignments array */ function authorize(&$request, $args, $roleAssignments) { import('classes.security.authorization.OmpWorkflowStageAccessPolicy'); $this->addPolicy(new OmpWorkflowStageAccessPolicy($request, $args, $roleAssignments, 'monographId', WORKFLOW_STAGE_ID_EDITING)); return parent::authorize($request, $args, $roleAssignments); }
/** * @see PKPHandler::authorize() * @param $request PKPRequest * @param $args array * @param $roleAssignments array */ function authorize($request, &$args, $roleAssignments) { import('lib.pkp.classes.security.authorization.SubmissionAccessPolicy'); $this->addPolicy(new SubmissionAccessPolicy($request, $args, $roleAssignments)); return parent::authorize($request, $args, $roleAssignments); }