Open Journal Systems  3.3.0
PublicationAccessPolicy.inc.php
1 <?php
15 import('lib.pkp.classes.security.authorization.internal.ContextPolicy');
16 import('lib.pkp.classes.security.authorization.SubmissionAccessPolicy');
17 import('lib.pkp.classes.security.authorization.internal.PublicationRequiredPolicy');
18 import('lib.pkp.classes.security.authorization.internal.PublicationIsSubmissionPolicy');
19 
21 
30  function __construct($request, $args, $roleAssignments, $publicationParameterName = 'publicationId') {
31  parent::__construct($request);
32 
33  // Can the user access this submission? (parameter name: 'submissionId')
34  $this->addPolicy(new SubmissionAccessPolicy($request, $args, $roleAssignments));
35 
36  // Does the publication exist?
37  $this->addPolicy(new PublicationRequiredPolicy($request, $args));
38 
39  // Is the publication attached to the correct submission?
40  $this->addPolicy(new PublicationIsSubmissionPolicy(__('api.publications.403.submissionsDidNotMatch')));
41  }
42 }
43 
44 
PublicationAccessPolicy
Class to control access to a publication.
Definition: PublicationAccessPolicy.inc.php:20
ContextPolicy
Basic policy that ensures availability of a context in the request context and a valid user group....
Definition: ContextPolicy.inc.php:19
PublicationAccessPolicy\__construct
__construct($request, $args, $roleAssignments, $publicationParameterName='publicationId')
Definition: PublicationAccessPolicy.inc.php:30
PolicySet\addPolicy
addPolicy($policyOrPolicySet, $addToTop=false)
Definition: PolicySet.inc.php:63
SubmissionAccessPolicy
Base class to control (write) access to submissions and (read) access to submission details in OMP.
Definition: SubmissionAccessPolicy.inc.php:19
PublicationIsSubmissionPolicy
Policy to ensure the authorized publication is related to the authorized submission.
Definition: PublicationIsSubmissionPolicy.inc.php:18
PublicationRequiredPolicy
Policy that ensures that the request contains a valid publication id.
Definition: PublicationRequiredPolicy.inc.php:17