Open Monograph Press  3.3.0
DependentFilesGridHandler.inc.php
1 <?php
2 
18 import('lib.pkp.controllers.grid.files.fileList.FileListGridHandler');
19 
24  function __construct() {
25  // import app-specific grid data provider for access policies.
26  $request = Application::get()->getRequest();
27  $fileId = $request->getUserVar('fileId'); // authorized in authorize() method.
28  import('lib.pkp.controllers.grid.files.dependent.DependentFilesGridDataProvider');
29  parent::__construct(
30  new DependentFilesGridDataProvider($fileId),
31  $request->getUserVar('stageId'),
32  FILE_GRID_ADD|FILE_GRID_DELETE|FILE_GRID_VIEW_NOTES|FILE_GRID_EDIT
33  );
34 
35  $this->addRoleAssignment(
36  array(ROLE_ID_MANAGER, ROLE_ID_SUB_EDITOR, ROLE_ID_ASSISTANT, ROLE_ID_AUTHOR),
37  array('fetchGrid', 'fetchRow')
38  );
39 
40  $this->setTitle('submission.submit.dependentFiles');
41  }
42 
46  function authorize($request, $args, $roleAssignments) {
47  import('lib.pkp.classes.security.authorization.SubmissionFileAccessPolicy');
48  $this->addPolicy(new SubmissionFileAccessPolicy($request, $args, $roleAssignments, SUBMISSION_FILE_ACCESS_MODIFY));
49 
50  return parent::authorize($request, $args, $roleAssignments);
51  }
52 
56  function getRequestArgs() {
57  $submissionFile = $this->getAuthorizedContextObject(ASSOC_TYPE_SUBMISSION_FILE);
58  return array_merge(
59  parent::getRequestArgs(),
60  array('fileId' => $submissionFile->getFileId())
61  );
62  }
63 }
64 
65 
PKPHandler\addRoleAssignment
addRoleAssignment($roleIds, $operations)
Definition: PKPHandler.inc.php:213
DependentFilesGridHandler\getRequestArgs
getRequestArgs()
Definition: DependentFilesGridHandler.inc.php:56
FileListGridHandler
Base grid for simple file lists. This grid shows the file type in addition to the file name.
Definition: FileListGridHandler.inc.php:22
DependentFilesGridHandler\authorize
authorize($request, $args, $roleAssignments)
Definition: DependentFilesGridHandler.inc.php:46
GridHandler\setTitle
setTitle($title)
Definition: GridHandler.inc.php:215
PKPHandler\getAuthorizedContextObject
& getAuthorizedContextObject($assocType)
Definition: PKPHandler.inc.php:174
SubmissionFileAccessPolicy
Base class to control (write) access to submissions and (read) access to submission files.
Definition: SubmissionFileAccessPolicy.inc.php:23
DependentFilesGridHandler\__construct
__construct()
Definition: DependentFilesGridHandler.inc.php:24
DependentFilesGridHandler
Handle dependent files that are associated with a submissions's display (galleys or production format...
Definition: DependentFilesGridHandler.inc.php:20
PKPApplication\get
static get()
Definition: PKPApplication.inc.php:235
PKPHandler\addPolicy
addPolicy($authorizationPolicy, $addToTop=false)
Definition: PKPHandler.inc.php:157
DependentFilesGridDataProvider
Provide access to dependent file data for grids.
Definition: DependentFilesGridDataProvider.inc.php:19