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

controllers/grid/files/submissionDocuments/SubmissionDocumentsFilesGridHandler.inc.php

00001 <?php
00002 
00015 import('controllers.grid.files.LibraryFileGridHandler');
00016 import('classes.monograph.MonographFile');
00017 import('controllers.grid.files.submissionDocuments.SubmissionDocumentsFilesGridDataProvider');
00018 import('controllers.grid.files.SubmissionFilesGridRow');
00019 
00020 class SubmissionDocumentsFilesGridHandler extends LibraryFileGridHandler {
00024    function SubmissionDocumentsFilesGridHandler() {
00025 
00026       parent::LibraryFileGridHandler(new SubmissionDocumentsFilesGridDataProvider());
00027       $this->addRoleAssignment(
00028          array(ROLE_ID_PRESS_MANAGER, ROLE_ID_SERIES_EDITOR, ROLE_ID_PRESS_ASSISTANT, ROLE_ID_AUTHOR),
00029          array(
00030             'addFile', 'uploadFile', 'saveFile', // Adding new library files
00031             'editFile', 'updateFile', // Editing existing library files
00032             'deleteFile', 'viewLibrary'
00033          )
00034       );
00035    }
00036 
00037 
00038    //
00039    // Overridden template methods
00040    //
00041 
00042    /*
00043     * Configure the grid
00044     * @param $request PKPRequest
00045     */
00046    function initialize(&$request) {
00047       $this->setCanEdit(true); // this grid can always be edited.
00048       parent::initialize($request);
00049 
00050       AppLocale::requireComponents(LOCALE_COMPONENT_OMP_EDITOR);
00051 
00052       // Set instructions
00053       $this->setInstructions('editor.submissionLibrary.description');
00054 
00055       $router =& $request->getRouter();
00056 
00057       // Add grid-level actions
00058 
00059       if ($this->canEdit()) {
00060          $this->addAction(
00061             new LinkAction(
00062                'addFile',
00063                new AjaxModal(
00064                   $router->url($request, null, null, 'addFile', null, $this->getActionArgs()),
00065                   __('grid.action.addFile'),
00066                   'modal_add_file'
00067                ),
00068                __('grid.action.addFile'),
00069                'add'
00070             )
00071          );
00072       }
00073 
00074       $this->addAction(
00075          new LinkAction(
00076             'viewLibrary',
00077             new AjaxModal(
00078                $router->url($request, null, null, 'viewLibrary', null, $this->getActionArgs()),
00079                __('grid.action.viewLibrary'),
00080                'modal_information'
00081             ),
00082             __('grid.action.viewLibrary'),
00083             'more_info'
00084          )
00085       );
00086 
00087    }
00088 
00093    function getActionArgs() {
00094       $monograph =& $this->getAuthorizedContextObject(ASSOC_TYPE_MONOGRAPH);
00095       $actionArgs = array(
00096          'monographId' => $monograph->getId(),
00097       );
00098 
00099       return $actionArgs;
00100    }
00101 
00106    function &getRowInstance() {
00107       $monograph =& $this->getAuthorizedContextObject(ASSOC_TYPE_MONOGRAPH);
00108       $row = new LibraryFileGridRow($this->canEdit(), $monograph);
00109       return $row;
00110    }
00111 
00112    //
00113    // Public File Grid Actions
00114    //
00115 
00122    function viewLibrary($args, &$request) {
00123 
00124       $templateMgr =& TemplateManager::getManager();
00125       $templateMgr->assign('canEdit', false);
00126       return $templateMgr->fetchJson('controllers/tab/settings/library.tpl');
00127    }
00128 
00134    function &_getNewFileForm($context) {
00135       $monograph =& $this->getAuthorizedContextObject(ASSOC_TYPE_MONOGRAPH);
00136       import('controllers.grid.files.submissionDocuments.form.NewLibraryFileForm');
00137       $fileForm = new NewLibraryFileForm($context->getId(), $monograph->getId());
00138       return $fileForm;
00139    }
00140 
00147    function &_getEditFileForm($context, $fileId) {
00148       $monograph =& $this->getAuthorizedContextObject(ASSOC_TYPE_MONOGRAPH);
00149       import('controllers.grid.files.submissionDocuments.form.EditLibraryFileForm');
00150       $fileForm = new EditLibraryFileForm($context->getId(), $fileId, $monograph->getId());
00151       return $fileForm;
00152    }
00153 }
00154 
00155 ?>

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