17 import(
'lib.pkp.classes.controllers.grid.CategoryGridDataProvider');
35 function __construct($fileStage, $dataProviderInitParams =
null) {
36 parent::__construct();
48 assert(is_a($gridDataProvider,
'SubmissionFilesGridDataProvider'));
49 parent::setDataProvider($gridDataProvider);
62 return $dataProvider->getAuthorizationPolicy($request, $args, $roleAssignments);
70 return $dataProvider->getRequestArgs();
76 function loadData($filter = array()) {
88 function loadCategoryData($request, $categoryDataElement, $filter =
null, $reviewRound =
null) {
92 $stageId = $categoryDataElement;
94 $stageSubmissionFiles =
null;
97 if ($stageId == WORKFLOW_STAGE_ID_INTERNAL_REVIEW || $stageId == WORKFLOW_STAGE_ID_EXTERNAL_REVIEW) {
98 if (is_null($reviewRound) || $reviewRound->getStageId() != $stageId) {
100 $reviewRound = $reviewRoundDao->getLastReviewRoundBySubmissionId($submission->getId(), $stageId);
102 $stageSubmissionFiles = $submissionFileDao->getLatestRevisionsByReviewRound($reviewRound, $fileStage);
105 if (!$this->_submissionFiles) {
106 $this->_submissionFiles = $submissionFileDao->getLatestRevisions($submission->getId());
109 $stageSubmissionFiles = array();
110 foreach ($submissionFiles as $key => $submissionFile) {
111 if (in_array($submissionFile->getFileStage(), (array) $fileStage)) {
112 $stageSubmissionFiles[$key] = $submissionFile;
113 } elseif ($submissionFile->getFileStage() == SUBMISSION_FILE_QUERY) {
115 if ($submissionFile->getAssocType()!=ASSOC_TYPE_NOTE)
break;
117 $note = $noteDao->getById($submissionFile->getAssocId());
118 assert($note && $note->getAssocType()==ASSOC_TYPE_QUERY);
120 $query = $queryDao->getById($note->getAssocId());
121 if ($query && $query->getStageId() == $stageId) $stageSubmissionFiles[$key] = $submissionFile;
125 return $dataProvider->prepareSubmissionFileData($stageSubmissionFiles,
false, $filter);
137 return $dataProvider->getAddFileAction($request);
145 $dataProvider->setStageId($stageId);
153 return $dataProvider->getFileStage();
170 import(
'lib.pkp.controllers.grid.files.SubmissionFilesGridDataProvider');
187 case WORKFLOW_STAGE_ID_SUBMISSION:
188 return SUBMISSION_FILE_SUBMISSION;
190 case WORKFLOW_STAGE_ID_INTERNAL_REVIEW:
191 case WORKFLOW_STAGE_ID_EXTERNAL_REVIEW:
192 return SUBMISSION_FILE_REVIEW_FILE;
194 case WORKFLOW_STAGE_ID_EDITING:
195 return array(SUBMISSION_FILE_FINAL, SUBMISSION_FILE_COPYEDIT);
197 case WORKFLOW_STAGE_ID_PRODUCTION:
198 return SUBMISSION_FILE_PRODUCTION_READY;