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;