Open Journal Systems  3.3.0
ManageProofFilesGridHandler.inc.php
1 <?php
2 
16 import('lib.pkp.controllers.grid.files.SelectableSubmissionFileListCategoryGridHandler');
17 
22  function __construct() {
23  import('lib.pkp.controllers.grid.files.SubmissionFilesCategoryGridDataProvider');
24  parent::__construct(
25  new SubmissionFilesCategoryGridDataProvider(SUBMISSION_FILE_PROOF),
26  WORKFLOW_STAGE_ID_PRODUCTION
27  );
28 
29  $this->addRoleAssignment(
30  array(ROLE_ID_SUB_EDITOR, ROLE_ID_MANAGER),
31  array(
32  'fetchGrid', 'fetchCategory', 'fetchRow',
33  'addFile', 'downloadFile', 'deleteFile',
34  'updateProofFiles',
35  )
36  );
37 
38  // Set the grid title.
39  $this->setTitle('submission.pageProofs');
40  }
41 
45  function authorize($request, &$args, $roleAssignments) {
46  import('lib.pkp.classes.security.authorization.SubmissionAccessPolicy');
47  $this->addPolicy(new SubmissionAccessPolicy($request, $args, $roleAssignments));
48 
49  import('lib.pkp.classes.security.authorization.PublicationAccessPolicy');
50  $this->addPolicy(new PublicationAccessPolicy($request, $args, $roleAssignments));
51  import('lib.pkp.classes.security.authorization.internal.RepresentationRequiredPolicy');
52  $this->addPolicy(new RepresentationRequiredPolicy($request, $args));
53  return parent::authorize($request, $args, $roleAssignments);
54  }
55 
60  function getRequestArgs() {
61  $publication = $this->getAuthorizedContextObject(ASSOC_TYPE_PUBLICATION);
62  $representation = $this->getAuthorizedContextObject(ASSOC_TYPE_REPRESENTATION);
63  return array_merge(
64  parent::getRequestArgs(),
65  array(
66  'publicationId' => $publication->getId(),
67  'representationId' => $representation->getId()
68  )
69  );
70  }
71 
72  //
73  // Public handler methods
74  //
81  function updateProofFiles($args, $request) {
82  $submission = $this->getSubmission();
83  $publication = $this->getAuthorizedContextObject(ASSOC_TYPE_PUBLICATION);
84  $representation = $this->getAuthorizedContextObject(ASSOC_TYPE_REPRESENTATION);
85 
86  import('lib.pkp.controllers.grid.files.proof.form.ManageProofFilesForm');
87  $manageProofFilesForm = new ManageProofFilesForm($submission->getId(), $publication->getId(), $representation->getId());
88  $manageProofFilesForm->readInputData();
89 
90  if ($manageProofFilesForm->validate()) {
91  $manageProofFilesForm->execute(
92  $this->getGridCategoryDataElements($request, $this->getStageId()),
93  SUBMISSION_FILE_PROOF
94  );
95 
96  // Let the calling grid reload itself
97  return DAO::getDataChangedEvent();
98  } else {
99  return new JSONMessage(false);
100  }
101  }
102 }
103 
104 
PKPHandler\addRoleAssignment
addRoleAssignment($roleIds, $operations)
Definition: PKPHandler.inc.php:213
PublicationAccessPolicy
Class to control access to a publication.
Definition: PublicationAccessPolicy.inc.php:20
ManageProofFilesGridHandler\__construct
__construct()
Definition: ManageProofFilesGridHandler.inc.php:22
SelectableSubmissionFileListCategoryGridHandler\getSubmission
getSubmission()
Definition: SelectableSubmissionFileListCategoryGridHandler.inc.php:86
RepresentationRequiredPolicy
Policy that ensures that the request contains a valid representation.
Definition: RepresentationRequiredPolicy.inc.php:17
SubmissionFilesCategoryGridDataProvider
Definition: SubmissionFilesCategoryGridDataProvider.inc.php:19
DAO\getDataChangedEvent
static getDataChangedEvent($elementId=null, $parentElementId=null, $content='')
Definition: DAO.inc.php:647
ManageProofFilesGridHandler
Handle the editor's proof files selection grid (selects which files to include)
Definition: ManageProofFilesGridHandler.inc.php:18
ManageProofFilesGridHandler\getRequestArgs
getRequestArgs()
Definition: ManageProofFilesGridHandler.inc.php:60
JSONMessage
Class to represent a JSON (Javascript Object Notation) message.
Definition: JSONMessage.inc.php:18
ManageProofFilesGridHandler\authorize
authorize($request, &$args, $roleAssignments)
Definition: ManageProofFilesGridHandler.inc.php:45
GridHandler\setTitle
setTitle($title)
Definition: GridHandler.inc.php:215
ManageProofFilesGridHandler\updateProofFiles
updateProofFiles($args, $request)
Definition: ManageProofFilesGridHandler.inc.php:81
SelectableSubmissionFileListCategoryGridHandler\getStageId
getStageId()
Definition: SelectableSubmissionFileListCategoryGridHandler.inc.php:78
PKPHandler\getAuthorizedContextObject
& getAuthorizedContextObject($assocType)
Definition: PKPHandler.inc.php:174
SelectableSubmissionFileListCategoryGridHandler
Handle selectable submission file list category grid requests.
Definition: SelectableSubmissionFileListCategoryGridHandler.inc.php:30
ManageProofFilesForm
Form to add files to the proof files grid.
Definition: ManageProofFilesForm.inc.php:18
CategoryGridHandler\getGridCategoryDataElements
& getGridCategoryDataElements($request, $categoryElement)
Definition: CategoryGridHandler.inc.php:123
SubmissionAccessPolicy
Base class to control (write) access to submissions and (read) access to submission details in OMP.
Definition: SubmissionAccessPolicy.inc.php:19
PKPHandler\addPolicy
addPolicy($authorizationPolicy, $addToTop=false)
Definition: PKPHandler.inc.php:157