Open Journal Systems  3.3.0
SubscriptionsGridRow.inc.php
1 <?php
2 
16 import('lib.pkp.classes.controllers.grid.GridRow');
17 import('lib.pkp.classes.linkAction.request.RemoteActionConfirmationModal');
18 import('lib.pkp.classes.linkAction.request.RedirectConfirmationModal');
19 import('lib.pkp.classes.linkAction.request.JsEventConfirmationModal');
20 
22  //
23  // Overridden methods from GridRow
24  //
28  function initialize($request, $template = null) {
29  parent::initialize($request, $template);
30 
31  // Is this a new row or an existing row?
32  $element =& $this->getData();
33  assert(is_a($element, 'IndividualSubscription') || is_a($element, 'InstitutionalSubscription'));
34 
35  $rowId = $this->getId();
36 
37  if (!empty($rowId) && is_numeric($rowId)) {
38  // Only add row actions if this is an existing row
39  $router = $request->getRouter();
40  $actionArgs = array(
41  'gridId' => $this->getGridId(),
42  'rowId' => $rowId
43  );
44 
45  $actionArgs = array_merge($actionArgs, $this->getRequestArgs());
46 
47  $this->addAction(new LinkAction(
48  'edit',
49  new AjaxModal(
50  $router->url($request, null, null, 'editSubscription', null, $actionArgs),
51  __('manager.subscriptions.edit'),
52  'modal_edit',
53  true
54  ),
55  __('common.edit'),
56  'edit'
57  ));
58  if (!$element->isNonExpiring()) $this->addAction(new LinkAction(
59  'renew',
61  $request->getSession(),
62  __('manager.subscriptions.confirmRenew'),
63  __('manager.subscriptions.renew'),
64  $router->url(
65  $request, null, null, 'renewSubscription', null,
66  array_merge($actionArgs, array(
67  'institutional' => is_a($element, 'InstitutionalSubscription')?1:0
68  ))
69  ),
70  'modal_delete'
71  ),
72  __('manager.subscriptions.renew'),
73  'renew'
74  ));
75  $this->addAction(new LinkAction(
76  'delete',
78  $request->getSession(),
79  __('subscriptionManager.subscription.confirmRemove'),
80  __('common.delete'),
81  $router->url($request, null, null, 'deleteSubscription', null, $actionArgs),
82  'modal_delete'
83  ),
84  __('grid.action.delete'),
85  'delete'
86  ));
87  }
88  }
89 }
90 
91 
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
SubscriptionsGridRow
Subscriptions grid row definition.
Definition: SubscriptionsGridRow.inc.php:21
GridRow\getGridId
getGridId()
Definition: GridRow.inc.php:97
GridRow
GridRow implements a row of a Grid. See GridHandler for general information about grids.
Definition: GridRow.inc.php:29
AjaxModal
A modal that retrieves its content from via AJAX.
Definition: AjaxModal.inc.php:18
LinkAction
Base class defining an action that can be performed by the user in the user interface.
Definition: LinkAction.inc.php:22
GridRow\getRequestArgs
getRequestArgs()
Definition: GridRow.inc.php:115
GridRow\getData
& getData()
Definition: GridRow.inc.php:131
SubscriptionsGridRow\initialize
initialize($request, $template=null)
Definition: SubscriptionsGridRow.inc.php:28