Open Journal Systems  3.3.0
ReviewerReviewFilesGridDataProvider.inc.php
1 <?php
2 
16 import('lib.pkp.controllers.grid.files.review.ReviewGridDataProvider');
17 
22  function __construct() {
23  parent::__construct(SUBMISSION_FILE_REVIEW_FILE);
24  }
25 
26 
27  //
28  // Implement template methods from GridDataProvider
29  //
35  function getAuthorizationPolicy($request, $args, $roleAssignments) {
36  import('lib.pkp.classes.security.authorization.SubmissionAccessPolicy');
37  $context = $request->getContext();
38  $policy = new SubmissionAccessPolicy($request, $args, $roleAssignments, 'submissionId', !$context->getData('restrictReviewerFileAccess'));
39 
40  $stageId = $request->getUserVar('stageId');
41  import('lib.pkp.classes.security.authorization.internal.WorkflowStageRequiredPolicy');
42  $policy->addPolicy(new WorkflowStageRequiredPolicy($stageId));
43 
44  // Add policy to ensure there is a review round id.
45  import('lib.pkp.classes.security.authorization.internal.ReviewRoundRequiredPolicy');
46  $policy->addPolicy(new ReviewRoundRequiredPolicy($request, $args));
47 
48  // Add policy to ensure there is a review assignment for certain operations.
49  import('lib.pkp.classes.security.authorization.internal.ReviewAssignmentRequiredPolicy');
50  $policy->addPolicy(new ReviewAssignmentRequiredPolicy($request, $args, 'reviewAssignmentId'));
51 
52  return $policy;
53  }
54 
61  function loadData($filter = array()) {
62  $submissionFileData = parent::loadData();
63  $reviewFilesDao = DAORegistry::getDAO('ReviewFilesDAO'); /* @var $reviewFilesDao ReviewFilesDAO */
64  $reviewAssignment = $this->getAuthorizedContextObject(ASSOC_TYPE_REVIEW_ASSIGNMENT);
65  foreach ($submissionFileData as $fileId => $fileData) {
66  if (!$reviewFilesDao->check($reviewAssignment->getId(), $fileId)) {
67  // Not permitted; remove from list.
68  unset($submissionFileData[$fileId]);
69  }
70  }
71  return $submissionFileData;
72  }
73 
77  function getRequestArgs() {
78  $reviewAssignment = $this->getAuthorizedContextObject(ASSOC_TYPE_REVIEW_ASSIGNMENT);
79  return array_merge(parent::getRequestArgs(), array(
80  'reviewAssignmentId' => $reviewAssignment->getId()
81  ));
82  }
83 }
ReviewerReviewFilesGridDataProvider\getRequestArgs
getRequestArgs()
Definition: ReviewerReviewFilesGridDataProvider.inc.php:77
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
ReviewRoundRequiredPolicy
Policy that ensures that the request contains a valid review round.
Definition: ReviewRoundRequiredPolicy.inc.php:17
ReviewerReviewFilesGridDataProvider\__construct
__construct()
Definition: ReviewerReviewFilesGridDataProvider.inc.php:22
ReviewGridDataProvider
Provide access to review file data for grids.
Definition: ReviewGridDataProvider.inc.php:17
ReviewerReviewFilesGridDataProvider\loadData
loadData($filter=array())
Definition: ReviewerReviewFilesGridDataProvider.inc.php:61
ReviewerReviewFilesGridDataProvider\getAuthorizationPolicy
getAuthorizationPolicy($request, $args, $roleAssignments)
Definition: ReviewerReviewFilesGridDataProvider.inc.php:35
ReviewerReviewFilesGridDataProvider
Provide reviewer access to review file data for review file grids.
Definition: ReviewerReviewFilesGridDataProvider.inc.php:18
SubmissionAccessPolicy
Base class to control (write) access to submissions and (read) access to submission details in OMP.
Definition: SubmissionAccessPolicy.inc.php:19
GridDataProvider\getAuthorizedContextObject
& getAuthorizedContextObject($assocType)
Definition: GridDataProvider.inc.php:52
ReviewAssignmentRequiredPolicy
Policy that ensures that the request contains a valid review assignment.
Definition: ReviewAssignmentRequiredPolicy.inc.php:17
WorkflowStageRequiredPolicy
Policy that ensures that the given workflow stage is valid.
Definition: WorkflowStageRequiredPolicy.inc.php:17