16 import(
'lib.pkp.controllers.grid.settings.SetupGridHandler');
17 import(
'lib.pkp.controllers.grid.settings.submissionChecklist.SubmissionChecklistGridRow');
25 parent::__construct();
27 array(
'fetchGrid',
'fetchRow',
'addItem',
'editItem',
'updateItem',
'deleteItem',
'saveSequence'));
37 parent::initialize($request, $args);
40 $this->
setId(
'submissionChecklist');
41 $this->
setTitle(
'manager.setup.submissionPreparationChecklist');
44 import(
'lib.pkp.classes.linkAction.request.AjaxModal');
45 $router = $request->getRouter();
50 $router->url($request,
null,
null,
'addItem',
null, array(
'gridId' => $this->
getId())),
51 __(
'grid.action.addItem'),
54 __(
'grid.action.addItem'),
62 'grid.submissionChecklist.column.checklistItem',
66 array(
'html' =>
true,
'maxLength' => 220)
79 import(
'lib.pkp.classes.controllers.grid.feature.OrderGridItemsFeature');
93 protected function loadData($request, $filter) {
95 $router = $request->getRouter();
96 $context = $router->getContext($request);
97 $submissionChecklist = $context->getData(
'submissionChecklist');
112 return $this->
editItem($args, $request);
122 import(
'lib.pkp.controllers.grid.settings.submissionChecklist.form.SubmissionChecklistForm');
123 $submissionChecklistId = isset($args[
'rowId']) ? $args[
'rowId'] :
null;
126 $submissionChecklistForm->initData($args);
128 return new JSONMessage(
true, $submissionChecklistForm->fetch($request));
141 import(
'lib.pkp.controllers.grid.settings.submissionChecklist.form.SubmissionChecklistForm');
142 $submissionChecklistId = isset($args[
'rowId']) ? $args[
'rowId'] :
null;
144 $submissionChecklistForm->readInputData();
146 if ($submissionChecklistForm->validate()) {
147 $submissionChecklistForm->execute();
161 if (!$request->checkCSRF())
return new JSONMessage(
false);
163 $rowId = $request->getUserVar(
'rowId');
165 $router = $request->getRouter();
166 $context = $router->getContext($request);
169 $submissionChecklistAll = $context->getData(
'submissionChecklist');
172 if ( isset($submissionChecklistAll[$locale][$rowId]) ) {
173 unset($submissionChecklistAll[$locale][$rowId]);
178 return new JSONMessage(
false, __(
'manager.setup.errorDeletingSubmissionChecklist'));
183 $context->updateSetting(
'submissionChecklist', $submissionChecklistAll,
'object',
true);
191 return $gridDataElement[
'order'];
198 $router = $request->getRouter();
199 $context = $router->getContext($request);
202 $submissionChecklistAll = $context->getData(
'submissionChecklist');
205 if (isset($submissionChecklistAll[$locale][$rowId])) {
206 $submissionChecklistAll[$locale][$rowId][
'order'] = $newSequence;
210 foreach ($submissionChecklistAll[$locale] as $id => $checklistItem) {
211 $orderMap[$id] = $checklistItem[
'order'];
217 $orderedChecklistItems = array();
218 foreach ($orderMap as $id => $order) {
219 if (isset($submissionChecklistAll[$locale][$id])) {
220 $orderedChecklistItems[$locale][$id] = $submissionChecklistAll[$locale][$id];
225 $context->setData(
'submissionChecklist', $orderedChecklistItems);
226 $context->updateSetting(
'submissionChecklist', $orderedChecklistItems,
'object',
true);