17 import(
'lib.pkp.classes.controllers.grid.CategoryGridHandler');
18 import(
'lib.pkp.classes.controllers.grid.DataObjectGridCellProvider');
21 import(
'lib.pkp.controllers.grid.settings.category.CategoryGridCategoryRow');
24 import(
'lib.pkp.classes.linkAction.request.AjaxModal');
33 parent::__construct();
35 array(ROLE_ID_MANAGER, ROLE_ID_SITE_ADMIN),
56 function authorize($request, &$args, $roleAssignments) {
57 import(
'lib.pkp.classes.security.authorization.ContextAccessPolicy');
59 return parent::authorize($request, $args, $roleAssignments);
68 parent::initialize($request, $args);
70 $context = $request->getContext();
71 $this->_contextId = $context->getId();
76 $this->
setTitle(
'grid.category.categories');
79 $router = $request->getRouter();
84 $router->url($request,
null,
null,
'addCategory'),
85 __(
'grid.category.add'),
88 __(
'grid.category.add'),
100 'grid.category.name',
114 $categoriesIterator = $categoryDao->getByParentId(
null, $this->
_getContextId());
115 return $categoriesIterator->toAssociativeArray();
122 import(
'lib.pkp.classes.controllers.grid.feature.OrderCategoryGridItemsFeature');
124 parent::initFeatures($request, $args),
133 return $category->getSequence();
140 $category->setSequence($newSequence);
142 $categoryDao->updateObject($category);
149 return $gridDataElement->getSequence();
156 $category->setSequence($newSequence);
158 $categoryDao->updateObject($category);
165 return 'parentCategoryId';
172 import(
'lib.pkp.controllers.grid.settings.category.CategoryGridRow');
187 $categoryId = $category->getId();
189 $categoriesIterator = $categoryDao->getByParentId($categoryId, $this->
_getContextId());
190 return $categoriesIterator->toAssociativeArray();
211 $categoryForm->initData();
213 return new JSONMessage(
true, $categoryForm->fetch($request));
225 $categoryForm->readInputData();
226 if($categoryForm->validate()) {
227 $categoryForm->execute();
230 return new JSONMessage(
true, $categoryForm->fetch($request));
243 $context = $request->getContext();
244 $category = $categoryDao->getById(
245 $request->getUserVar(
'categoryId'),
252 $categoryDao->deleteObject($category);
263 $user = $request->getUser();
265 import(
'lib.pkp.classes.file.TemporaryFileManager');
267 $temporaryFile = $temporaryFileManager->handleUpload(
'uploadedFile', $user->getId());
268 if ($temporaryFile) {
270 $json->setAdditionalAttributes(array(
271 'temporaryFileId' => $temporaryFile->getId()
275 return new JSONMessage(
false, __(
'common.uploadFailed'));
289 $categoryId = (int) $request->getUserVar(
'categoryId');
292 import(
'lib.pkp.controllers.grid.settings.category.form.CategoryForm');