16 import(
'lib.pkp.controllers.grid.settings.SetupGridHandler');
17 import(
'lib.pkp.classes.controllers.grid.DataObjectGridCellProvider');
18 import(
'lib.pkp.controllers.grid.settings.genre.GenreGridRow');
25 parent::__construct();
27 'fetchGrid',
'fetchRow',
28 'addGenre',
'editGenre',
'updateGenre',
29 'deleteGenre',
'restoreGenres',
'saveSequence'
42 parent::initialize($request, $args);
46 LOCALE_COMPONENT_APP_MANAGER,
47 LOCALE_COMPONENT_APP_EDITOR,
48 LOCALE_COMPONENT_PKP_COMMON,
49 LOCALE_COMPONENT_PKP_USER,
50 LOCALE_COMPONENT_APP_COMMON,
51 LOCALE_COMPONENT_PKP_GRID,
52 LOCALE_COMPONENT_APP_SUBMISSION,
53 LOCALE_COMPONENT_PKP_SUBMISSION,
54 LOCALE_COMPONENT_PKP_MANAGER,
55 LOCALE_COMPONENT_APP_DEFAULT
59 $this->
setTitle(
'grid.genres.title');
62 $router = $request->getRouter();
63 $actionArgs = array(
'gridId' => $this->
getId());
65 import(
'lib.pkp.classes.linkAction.request.AjaxModal');
70 $router->url($request,
null,
null,
'addGenre',
null, $actionArgs),
71 __(
'grid.action.addGenre'),
74 __(
'grid.action.addGenre'),
78 import(
'lib.pkp.classes.linkAction.request.RemoteActionConfirmationModal');
83 $request->getSession(),
84 __(
'grid.action.restoreDefaults.confirm'),
86 $router->url($request,
null,
null,
'restoreGenres',
null, $actionArgs),
'modal_delete'),
87 __(
'grid.action.restoreDefaults'),
109 $context = $request->getContext();
111 return $genreDao->getEnabledByContextId($context->getId(), self::getRangeInfo($request, $this->getId()));
121 import(
'lib.pkp.classes.controllers.grid.feature.OrderGridItemsFeature');
137 return $row->getSequence();
145 $context = $request->getContext();
146 $genre = $genreDao->getById($rowId, $context->getId());
147 $genre->setSequence($newSequence);
148 $genreDao->updateObject($genre);
161 return $this->
editGenre($args, $request);
171 $genreId = isset($args[
'genreId']) ? (int) $args[
'genreId'] :
null;
175 import(
'lib.pkp.controllers.grid.settings.genre.form.GenreForm');
178 $genreForm->initData($args);
180 return new JSONMessage(
true, $genreForm->fetch($request));
190 $genreId = isset($args[
'genreId']) ? (int) $args[
'genreId'] :
null;
191 $context = $request->getContext();
193 import(
'lib.pkp.controllers.grid.settings.genre.form.GenreForm');
195 $genreForm->readInputData();
197 $router = $request->getRouter();
199 if ($genreForm->validate()) {
200 $genreForm->execute();
214 $genreId = isset($args[
'genreId']) ? (int) $args[
'genreId'] :
null;
215 $context = $request->getContext();
217 $genre = $genreDao->getById($genreId, $context->getId());
218 if ($genre && $request->checkCSRF()) {
219 $genreDao->deleteObject($genre);
222 return new JSONMessage(
false, __(
'manager.setup.errorDeletingItem'));
233 if (!$request->checkCSRF())
return new JSONMessage(
false);
236 $context = $request->getContext();
238 $genreDao->installDefaults($context->getId(), $context->getSupportedFormLocales());