Open Journal Systems  3.3.0
QueryNoteFilesGridDataProvider.inc.php
1 <?php
2 
17 import('lib.pkp.controllers.grid.files.SubmissionFilesGridDataProvider');
18 
21  var $_noteId;
22 
27  function __construct($noteId) {
28  parent::__construct(SUBMISSION_FILE_QUERY);
29  $this->_noteId = $noteId;
30  }
31 
32  //
33  // Overridden public methods from FilesGridDataProvider
34  //
38  function getAuthorizationPolicy($request, $args, $roleAssignments) {
39  $this->setUploaderRoles($roleAssignments);
40 
41  import('lib.pkp.classes.security.authorization.QueryAccessPolicy');
42  return new QueryAccessPolicy($request, $args, $roleAssignments, $this->getStageId());
43  }
44 
48  function getSelectAction($request) {
49  $query = $this->getAuthorizedContextObject(ASSOC_TYPE_QUERY);
50  import('lib.pkp.controllers.grid.files.fileList.linkAction.SelectFilesLinkAction');
52  $request,
53  $this->getRequestArgs(),
54  __('editor.submission.selectFiles')
55  );
56  }
57 
61  function loadData($filter = array()) {
62  // Retrieve all submission files for the given file query.
63  $submission = $this->getSubmission();
64  $query = $this->getAuthorizedContextObject(ASSOC_TYPE_QUERY);
65 
66  $noteDao = DAORegistry::getDAO('NoteDAO'); /* @var $noteDao NoteDAO */
67  $note = $noteDao->getById($this->_noteId);
68  if ($note->getAssocType() != ASSOC_TYPE_QUERY || $note->getAssocId() != $query->getId()) {
69  fatalError('Invalid note ID specified!');
70  }
71 
72  $submissionFileDao = DAORegistry::getDAO('SubmissionFileDAO'); /* @var $submissionFileDao SubmissionFileDAO */
73  $submissionFiles = $submissionFileDao->getLatestRevisionsByAssocId(ASSOC_TYPE_NOTE, $this->_noteId, $submission->getId(), $this->getFileStage());
74  return $this->prepareSubmissionFileData($submissionFiles, $this->_viewableOnly, $filter);
75  }
76 
80  function getRequestArgs() {
81  $query = $this->getAuthorizedContextObject(ASSOC_TYPE_QUERY);
82  $representation = $this->getAuthorizedContextObject(ASSOC_TYPE_REPRESENTATION);
83  return array_merge(
84  parent::getRequestArgs(),
85  array(
86  'assocType' => ASSOC_TYPE_NOTE,
87  'assocId' => $this->_noteId,
88  'queryId' => $query->getId(),
89  'noteId' => $this->_noteId,
90  'representationId' => $representation?$representation->getId():null,
91  )
92  );
93  }
94 
98  function getAddFileAction($request) {
99  $submission = $this->getSubmission();
100  $query = $this->getAuthorizedContextObject(ASSOC_TYPE_QUERY);
101  import('lib.pkp.controllers.api.file.linkAction.AddFileLinkAction');
102  return new AddFileLinkAction(
103  $request, $submission->getId(), $this->getStageId(),
104  $this->getUploaderRoles(), $this->getFileStage(),
105  ASSOC_TYPE_NOTE, $this->_noteId
106  );
107  }
108 }
109 
110 
QueryNoteFilesGridDataProvider\getAddFileAction
getAddFileAction($request)
Definition: QueryNoteFilesGridDataProvider.inc.php:101
QueryNoteFilesGridDataProvider\__construct
__construct($noteId)
Definition: QueryNoteFilesGridDataProvider.inc.php:30
QueryNoteFilesGridDataProvider\getAuthorizationPolicy
getAuthorizationPolicy($request, $args, $roleAssignments)
Definition: QueryNoteFilesGridDataProvider.inc.php:41
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
QueryNoteFilesGridDataProvider
Provide access to query files management.
Definition: QueryNoteFilesGridDataProvider.inc.php:19
QueryNoteFilesGridDataProvider\getSelectAction
getSelectAction($request)
Definition: QueryNoteFilesGridDataProvider.inc.php:51
SubmissionFilesGridDataProvider
Definition: SubmissionFilesGridDataProvider.inc.php:18
SubmissionFilesGridDataProvider\prepareSubmissionFileData
prepareSubmissionFileData($revisions, $viewableOnly=false, $filter=array())
Definition: SubmissionFilesGridDataProvider.inc.php:161
QueryAccessPolicy
Class to control access to queries.
Definition: QueryAccessPolicy.inc.php:18
SelectFilesLinkAction
An abstract base action for actions to open up a modal that allows users to select files from a file ...
Definition: SelectFilesLinkAction.inc.php:18
QueryNoteFilesGridDataProvider\$_noteId
$_noteId
Definition: QueryNoteFilesGridDataProvider.inc.php:24
QueryNoteFilesGridDataProvider\getRequestArgs
getRequestArgs()
Definition: QueryNoteFilesGridDataProvider.inc.php:83
AddFileLinkAction
An action to add a submission file.
Definition: AddFileLinkAction.inc.php:18
FilesGridDataProvider\getSubmission
getSubmission()
Definition: FilesGridDataProvider.inc.php:102
SubmissionFilesGridDataProvider\getStageId
getStageId()
Definition: SubmissionFilesGridDataProvider.inc.php:62
GridDataProvider\__construct
__construct()
Definition: GridDataProvider.inc.php:30
fatalError
if(!function_exists('import')) fatalError($reason)
Definition: functions.inc.php:32
GridDataProvider\getAuthorizedContextObject
& getAuthorizedContextObject($assocType)
Definition: GridDataProvider.inc.php:52
QueryNoteFilesGridDataProvider\loadData
loadData($filter=array())
Definition: QueryNoteFilesGridDataProvider.inc.php:64
FilesGridDataProvider\setUploaderRoles
setUploaderRoles($roleAssignments)
Definition: FilesGridDataProvider.inc.php:43