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',
00031 'editFile', 'updateFile',
00032 'deleteFile', 'viewLibrary'
00033 )
00034 );
00035 }
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046 function initialize(&$request) {
00047 $this->setCanEdit(true);
00048 parent::initialize($request);
00049
00050 AppLocale::requireComponents(LOCALE_COMPONENT_OMP_EDITOR);
00051
00052
00053 $this->setInstructions('editor.submissionLibrary.description');
00054
00055 $router =& $request->getRouter();
00056
00057
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
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 ?>