Open Journal Systems  3.3.0
TocGridCellProvider.inc.php
1 <?php
2 
16 import('lib.pkp.classes.controllers.grid.GridCellProvider');
17 
22  function __construct($translate = false) {
23  parent::__construct();
24  }
25 
33  function getTemplateVarsFromRowColumn($row, $column) {
34  $element = $row->getData();
35  $columnId = $column->getId();
36  assert(!empty($columnId));
37  switch ($columnId) {
38  case 'title':
39  return array('label' => $element->getLocalizedTitle());
40  case 'access':
41  return array('selected' => $element->getCurrentPublication()->getData('accessStatus')==ARTICLE_ACCESS_OPEN);
42  default: assert(false);
43  }
44  }
45 
49  function getCellActions($request, $row, $column, $position = GRID_ACTION_POSITION_DEFAULT) {
50  import('lib.pkp.classes.linkAction.request.AjaxAction');
51  switch ($column->getId()) {
52  case 'access':
53  $article = $row->getData(); /* @var $article Submission */
54  return array(new LinkAction(
55  'disable',
56  new AjaxAction(
57  $request->url(
58  null, null, 'setAccessStatus', null,
59  array_merge(
60  array(
61  'articleId' => $article->getId(),
62  'status' => ($article->getCurrentPublication()->getData('accessStatus') == ARTICLE_ACCESS_OPEN) ? ARTICLE_ACCESS_ISSUE_DEFAULT : ARTICLE_ACCESS_OPEN,
63  'csrfToken' => $request->getSession()->getCSRFToken(),
64  ),
65  $row->getRequestArgs()
66  )
67  )
68  ),
69  __('manager.plugins.disable'),
70  null
71  ));
72  }
73  return parent::getCellActions($request, $row, $column, $position);
74  }
75 }
76 
77 
TocGridCellProvider
Grid cell provider for the TOC (Table of Contents) category grid.
Definition: TocGridCellProvider.inc.php:18
AjaxAction
Class defining an AJAX action.
Definition: AjaxAction.inc.php:21
TocGridCellProvider\getTemplateVarsFromRowColumn
getTemplateVarsFromRowColumn($row, $column)
Definition: TocGridCellProvider.inc.php:33
LinkAction
Base class defining an action that can be performed by the user in the user interface.
Definition: LinkAction.inc.php:22
GridCellProvider
Base class for a grid column's cell provider.
Definition: GridCellProvider.inc.php:20
TocGridCellProvider\getCellActions
getCellActions($request, $row, $column, $position=GRID_ACTION_POSITION_DEFAULT)
Definition: TocGridCellProvider.inc.php:49
TocGridCellProvider\__construct
__construct($translate=false)
Definition: TocGridCellProvider.inc.php:22