• Main Page
  • Modules
  • Classes
  • Files
  • File List

controllers/grid/files/productionReady/ProductionReadyFilesGridHandler.inc.php

00001 <?php
00002 
00015 import('controllers.grid.files.SubmissionFilesGridHandler');
00016 import('controllers.grid.files.UploaderUserGroupGridColumn');
00017 
00018 class ProductionReadyFilesGridHandler extends SubmissionFilesGridHandler {
00022    function ProductionReadyFilesGridHandler() {
00023       import('controllers.grid.files.SubmissionFilesGridDataProvider');
00024       parent::SubmissionFilesGridHandler(
00025          new SubmissionFilesGridDataProvider(MONOGRAPH_FILE_PRODUCTION_READY),
00026          WORKFLOW_STAGE_ID_PRODUCTION,
00027          FILE_GRID_ADD|FILE_GRID_DELETE|FILE_GRID_VIEW_NOTES
00028       );
00029 
00030       $this->addRoleAssignment(
00031          array(
00032             ROLE_ID_SERIES_EDITOR,
00033             ROLE_ID_PRESS_MANAGER,
00034             ROLE_ID_PRESS_ASSISTANT
00035          ),
00036          array(
00037             'fetchGrid', 'fetchRow',
00038             'addFile',
00039             'downloadFile',
00040             'deleteFile',
00041             'signOffFile'
00042          )
00043       );
00044    }
00045 
00049    function initialize($request) {
00050       parent::initialize($request);
00051 
00052       $this->setTitle('editor.monograph.production.productionReadyFiles');
00053       $this->setInstructions('editor.monograph.production.productionReadyFilesDescription');
00054 
00055       $currentUser =& $request->getUser();
00056 
00057       // Get all the uploader user group id's
00058       $uploaderUserGroupIds = array();
00059       $dataElements =& $this->getGridDataElements($request);
00060       foreach ($dataElements as $id => $rowElement) {
00061          $submissionFile =& $rowElement['submissionFile'];
00062          $uploaderUserGroupIds[] = $submissionFile->getUserGroupId();
00063       }
00064       // Make sure each is only present once
00065       $uploaderUserGroupIds = array_unique($uploaderUserGroupIds);
00066 
00067       // Add a Uploader UserGroup column for each group
00068       $userGroupDao =& DAORegistry::getDAO('UserGroupDAO');
00069       foreach ($uploaderUserGroupIds as $userGroupId) {
00070          $userGroup =& $userGroupDao->getById($userGroupId);
00071          assert(is_a($userGroup, 'UserGroup'));
00072          $this->addColumn(new UploaderUserGroupGridColumn($userGroup));
00073          unset($userGroup);
00074       }
00075    }
00076 }
00077 
00078 ?>

Generated on Mon Sep 17 2012 13:58:55 for Open Monograph Press by  doxygen 1.7.1