16 import(
'lib.pkp.classes.controllers.grid.GridHandler');
17 import(
'controllers.grid.issueGalleys.IssueGalleyGridRow');
24 parent::__construct();
26 array(ROLE_ID_MANAGER),
28 'fetchGrid',
'fetchRow',
'saveSequence',
29 'add',
'edit',
'upload',
'download',
'update',
'delete'
41 function authorize($request, &$args, $roleAssignments) {
42 import(
'lib.pkp.classes.security.authorization.ContextAccessPolicy');
45 import(
'classes.security.authorization.OjsIssueRequiredPolicy');
49 if ($request->getUserVar(
'issueGalleyId')) {
50 import(
'classes.security.authorization.OjsIssueGalleyRequiredPolicy');
54 return parent::authorize($request, $args, $roleAssignments);
61 return $issueGalley->getSequence();
69 $gridDataElement->setSequence($newSequence);
70 $issueGalleyDao->updateObject($gridDataElement);
77 import(
'lib.pkp.classes.controllers.grid.feature.OrderGridItemsFeature');
87 $requestArgs = (array) parent::getRequestArgs();
88 $requestArgs[
'issueId'] = $issue->getId();
89 if ($issueGalley) $requestArgs[
'issueGalleyId'] = $issueGalley->getId();
97 parent::initialize($request, $args);
102 $router = $request->getRouter();
103 import(
'lib.pkp.classes.linkAction.request.AjaxModal');
109 $request,
null,
null,
'add',
null,
112 __(
'grid.action.addIssueGalley'),
115 __(
'grid.action.addIssueGalley'),
121 import(
'controllers.grid.issueGalleys.IssueGalleyGridCellProvider');
128 'submission.layout.galleyLabel',
131 $issueGalleyGridCellProvider
136 $journal = $request->getJournal();
137 if (count($journal->getSupportedLocaleNames())>1) {
144 $issueGalleyGridCellProvider
153 'submission.publisherId',
156 $issueGalleyGridCellProvider
179 function add($args, $request) {
182 return $this->
edit($args, $request);
191 function edit($args, $request) {
195 import(
'controllers.grid.issues.form.IssueGalleyForm');
196 $issueGalleyForm =
new IssueGalleyForm($request, $issue, $issueGalley);
197 $issueGalleyForm->initData();
198 return new JSONMessage(
true, $issueGalleyForm->fetch($request));
208 $user = $request->getUser();
210 import(
'lib.pkp.classes.file.TemporaryFileManager');
212 $temporaryFile = $temporaryFileManager->handleUpload(
'uploadedFile', $user->getId());
213 if ($temporaryFile) {
215 $json->setAdditionalAttributes(array(
216 'temporaryFileId' => $temporaryFile->getId()
220 return new JSONMessage(
false, __(
'common.uploadFailed'));
233 import(
'classes.file.IssueFileManager');
235 return $issueFileManager->downloadById($issueGalley->getFileId());
248 import(
'controllers.grid.issues.form.IssueGalleyForm');
249 $issueGalleyForm =
new IssueGalleyForm($request, $issue, $issueGalley);
250 $issueGalleyForm->readInputData();
252 if ($issueGalleyForm->validate()) {
253 $issueId = $issueGalleyForm->execute();
264 function delete($args, $request) {
267 if ($issueGalley && $request->checkCSRF()) {
268 $issueGalleyDao->deleteObject($issueGalley);
280 return $issueGalleyDao->getByIssueId($issue->getId());