16 import(
'lib.pkp.classes.controllers.grid.CategoryGridHandler');
17 import(
'lib.pkp.controllers.grid.files.LibraryFileGridRow');
18 import(
'lib.pkp.controllers.grid.files.LibraryFileGridCategoryRow');
19 import(
'classes.file.LibraryFileManager');
20 import(
'lib.pkp.classes.context.LibraryFile');
23 import(
'lib.pkp.classes.linkAction.request.AjaxModal');
36 parent::__construct($dataProvider);
38 array(ROLE_ID_MANAGER, ROLE_ID_SUB_EDITOR, ROLE_ID_ASSISTANT, ROLE_ID_AUTHOR),
40 'fetchGrid',
'fetchCategory',
'fetchRow',
70 $this->_canEdit = $canEdit;
82 parent::initialize($request, $args);
84 $router = $request->getRouter();
85 $this->_context = $router->getContext($request);
88 $this->
setTitle(
'manager.publication.library');
91 LOCALE_COMPONENT_PKP_COMMON,
92 LOCALE_COMPONENT_APP_COMMON,
93 LOCALE_COMPONENT_PKP_SUBMISSION,
94 LOCALE_COMPONENT_APP_SUBMISSION,
95 LOCALE_COMPONENT_PKP_MANAGER,
96 LOCALE_COMPONENT_APP_MANAGER
103 $router = $request->getRouter();
111 $router->url($request,
null,
null,
'addFile',
null, $this->getActionArgs()),
112 __(
'grid.action.addFile'),
115 __(
'grid.action.addFile'),
139 $fileTypeKeys = $libraryFileManager->getTypeSuffixMap();
140 foreach (array_keys($fileTypeKeys) as $key) {
162 import(
'lib.pkp.controllers.grid.files.LibraryFileGridCellProvider');
165 'grid.libraryFiles.column.files',
183 $router = $request->getRouter();
184 $context = $request->getContext();
187 $fileForm->initData();
189 return new JSONMessage(
true, $fileForm->fetch($request));
199 $router = $request->getRouter();
200 $context = $request->getContext();
203 $fileForm->readInputData();
205 if ($fileForm->validate()) {
206 $fileId = $fileForm->execute();
223 assert(isset($args[
'fileId']));
224 $fileId = (int) $args[
'fileId'];
226 $router = $request->getRouter();
227 $context = $request->getContext();
230 $fileForm->initData();
232 return new JSONMessage(
true, $fileForm->fetch($request));
242 assert(isset($args[
'fileId']));
243 $fileId = (int) $args[
'fileId'];
245 $router = $request->getRouter();
246 $context = $request->getContext();
249 $fileForm->readInputData();
251 if ($fileForm->validate()) {
252 $fileForm->execute();
268 $fileId = isset($args[
'fileId']) ? $args[
'fileId'] :
null;
269 $router = $request->getRouter();
270 $context = $router->getContext($request);
272 if ($request->checkCSRF() && $fileId) {
274 $libraryFileManager->deleteById($fileId);
289 $router = $request->getRouter();
290 $context = $request->getContext();
291 $user = $request->getUser();
293 import(
'lib.pkp.classes.file.TemporaryFileManager');
295 $temporaryFile = $temporaryFileManager->handleUpload(
'uploadedFile', $user->getId());
296 if ($temporaryFile) {
298 $json->setAdditionalAttributes(array(
299 'temporaryFileId' => $temporaryFile->getId()
303 return new JSONMessage(
false, __(
'common.uploadFailed'));