Open Journal Systems  3.3.0
CategoryGridCategoryRow.inc.php
1 <?php
2 
16 import('lib.pkp.classes.controllers.grid.GridCategoryRow');
17 
18 // Link actions
19 import('lib.pkp.classes.linkAction.request.AjaxModal');
20 
22  //
23  // Overridden methods from GridCategoryRow
24  //
28  function initialize($request, $template = null) {
29  // Do the default initialization
30  parent::initialize($request, $template);
31 
32  // Is this a new row or an existing row?
33  $categoryId = $this->getId();
34  if (!empty($categoryId) && is_numeric($categoryId)) {
35  // Only add row actions if this is an existing row
36  $category = $this->getData();
37  $router = $request->getRouter();
38 
39  $categoryDao = DAORegistry::getDAO('CategoryDAO'); /* @var $categoryDao CategoryDAO */
40  $childCategories = $categoryDao->getByParentId($categoryId);
41  if ($childCategories->getCount() == 0) {
42  import('lib.pkp.classes.linkAction.request.RemoteActionConfirmationModal');
43  $this->addAction(
44  new LinkAction(
45  'deleteCategory',
47  $request->getSession(),
48  __('common.confirmDelete'),
49  __('common.delete'),
50  $router->url($request, null, null, 'deleteCategory', null, array('categoryId' => $categoryId)),
51  'modal_delete'
52  ),
53  __('grid.action.remove'),
54  'delete'
55  )
56  );
57  }
58 
59  $this->addAction(new LinkAction(
60  'editCategory',
61  new AjaxModal(
62  $router->url($request, null, null, 'editCategory', null, array('categoryId' => $categoryId)),
63  __('grid.category.edit'),
64  'modal_edit'
65  ),
66  $category->getLocalizedTitle()
67  ), GRID_ACTION_POSITION_ROW_CLICK);
68  }
69  }
70 
75  function getCategoryLabel() {
76  return '';
77  }
78 }
79 
80 
RemoteActionConfirmationModal
Class defining a simple confirmation modal with a remote action and ok/cancel buttons.
Definition: RemoteActionConfirmationModal.inc.php:18
GridRow\addAction
addAction($action, $position=GRID_ACTION_POSITION_DEFAULT)
Definition: GridRow.inc.php:179
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
GridBodyElement\getId
getId()
Definition: GridBodyElement.inc.php:57
CategoryGridCategoryRow\initialize
initialize($request, $template=null)
Definition: CategoryGridCategoryRow.inc.php:28
GridCategoryRow
Class defining basic operations for handling the category row in a grid.
Definition: GridCategoryRow.inc.php:19
AjaxModal
A modal that retrieves its content from via AJAX.
Definition: AjaxModal.inc.php:18
CategoryGridCategoryRow
Category grid category row definition.
Definition: CategoryGridCategoryRow.inc.php:21
LinkAction
Base class defining an action that can be performed by the user in the user interface.
Definition: LinkAction.inc.php:22
CategoryGridCategoryRow\getCategoryLabel
getCategoryLabel()
Definition: CategoryGridCategoryRow.inc.php:75
GridRow\getData
& getData()
Definition: GridRow.inc.php:131