Open Journal Systems  3.3.0
QueriesGridRow.inc.php
1 <?php
2 
16 import('lib.pkp.classes.controllers.grid.GridRow');
17 
18 class QueriesGridRow extends GridRow {
20  var $_submission;
21 
23  var $_stageId;
24 
33  function __construct($submission, $stageId, $queriesAccessHelper) {
34  $this->_submission = $submission;
35  $this->_stageId = $stageId;
36  $this->_queriesAccessHelper = $queriesAccessHelper;
37 
38  parent::__construct();
39  }
40 
41  //
42  // Overridden methods from GridRow
43  //
47  function initialize($request, $template = null) {
48  // Do the default initialization
49  parent::initialize($request, $template);
50 
51  // Retrieve the submission from the request
52  $submission = $this->getSubmission();
53 
54  // Is this a new row or an existing row?
55  $rowId = $this->getId();
56  if (!empty($rowId) && is_numeric($rowId)) {
57  // Only add row actions if this is an existing row
58  $router = $request->getRouter();
59  $actionArgs = $this->getRequestArgs();
60  $actionArgs['queryId'] = $rowId;
61 
62  // Add row-level actions
63  if ($this->_queriesAccessHelper->getCanEdit($rowId)) {
64  import('lib.pkp.classes.linkAction.request.AjaxModal');
65  $this->addAction(
66  new LinkAction(
67  'editQuery',
68  new AjaxModal(
69  $router->url($request, null, null, 'editQuery', null, $actionArgs),
70  __('grid.action.updateQuery'),
71  'modal_edit'
72  ),
73  __('grid.action.edit'),
74  'edit'
75  )
76  );
77  }
78 
79  if ($this->_queriesAccessHelper->getCanDelete($rowId)) {
80  import('lib.pkp.classes.linkAction.request.RemoteActionConfirmationModal');
81  $this->addAction(
82  new LinkAction(
83  'deleteQuery',
85  $request->getSession(),
86  __('common.confirmDelete'),
87  __('grid.action.delete'),
88  $router->url($request, null, null, 'deleteQuery', null, $actionArgs), 'modal_delete'),
89  __('grid.action.delete'),
90  'delete')
91  );
92  }
93  }
94  }
95 
100  function getSubmission() {
101  return $this->_submission;
102  }
103 
108  function getStageId() {
109  return $this->_stageId;
110  }
111 
116  function getRequestArgs() {
117  $submission = $this->getSubmission();
118  return array(
119  'submissionId' => $submission->getId(),
120  'stageId' => $this->getStageId(),
121  );
122  }
123 }
124 
125 
GridRow\__construct
__construct()
Definition: GridRow.inc.php:75
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
GridBodyElement\getId
getId()
Definition: GridBodyElement.inc.php:57
QueriesGridRow\getStageId
getStageId()
Definition: QueriesGridRow.inc.php:114
QueriesGridRow\$_submission
$_submission
Definition: QueriesGridRow.inc.php:23
GridRow
GridRow implements a row of a Grid. See GridHandler for general information about grids.
Definition: GridRow.inc.php:29
QueriesGridRow\initialize
initialize($request, $template=null)
Definition: QueriesGridRow.inc.php:53
QueriesGridRow\$_stageId
$_stageId
Definition: QueriesGridRow.inc.php:29
AjaxModal
A modal that retrieves its content from via AJAX.
Definition: AjaxModal.inc.php:18
QueriesGridRow\__construct
__construct($submission, $stageId, $queriesAccessHelper)
Definition: QueriesGridRow.inc.php:39
LinkAction
Base class defining an action that can be performed by the user in the user interface.
Definition: LinkAction.inc.php:22
QueriesGridRow\getRequestArgs
getRequestArgs()
Definition: QueriesGridRow.inc.php:122
QueriesGridRow
Base class for query grid row definition.
Definition: QueriesGridRow.inc.php:18
QueriesGridRow\getSubmission
getSubmission()
Definition: QueriesGridRow.inc.php:106