Open Journal Systems  3.3.0
LibraryFileGridRow.inc.php
1 <?php
2 
16 import('lib.pkp.classes.controllers.grid.GridRow');
17 
18 // Link action & modal classes
19 import('lib.pkp.classes.linkAction.request.AjaxModal');
20 import('lib.pkp.classes.linkAction.request.RemoteActionConfirmationModal');
21 
22 class LibraryFileGridRow extends GridRow {
24  var $_fileType;
25 
27  var $_canEdit;
28 
31 
35  function __construct($canEdit = false, $submission = null) {
36  $this->_canEdit = $canEdit;
37  $this->_submission = $submission;
38  parent::__construct();
39  }
40 
41  //
42  // Getters / setters
43  //
48  function getFileType() {
49  return $this->_fileType;
50  }
51 
52  function setFileType($fileType) {
53  $this->_fileType = $fileType;
54  }
55 
56  //
57  // Overridden template methods
58  //
62  function initialize($request, $template = null) {
63  parent::initialize($request, $template);
64 
65  $this->setFileType($request->getUserVar('fileType'));
66 
67  // Is this a new row or an existing row?
68  $fileId = $this->getId();
69 
70  if (!empty($fileId) && $this->_canEdit) {
71  // Actions
72  $router = $request->getRouter();
73  $actionArgs = array(
74  'fileId' => $fileId,
75  );
76 
77  if ($this->_submission) {
78  $actionArgs['submissionId'] = $this->_submission->getId();
79  }
80 
81  $this->addAction(
82  new LinkAction(
83  'editFile',
84  new AjaxModal(
85  $router->url($request, null, null, 'editFile', null, $actionArgs),
86  __('grid.action.edit'),
87  'modal_edit'
88  ),
89  __('grid.action.edit'),
90  'edit'
91  )
92  );
93  $this->addAction(
94  new LinkAction(
95  'deleteFile',
97  $request->getSession(),
98  __('common.confirmDelete'), __('common.delete'),
99  $router->url($request, null, null, 'deleteFile', null, $actionArgs),
100  'modal_delete'
101  ),
102  __('grid.action.delete'),
103  'delete'
104  )
105  );
106  }
107  }
108 }
109 
110 
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
LibraryFileGridRow\$_submission
$_submission
Definition: LibraryFileGridRow.inc.php:33
LibraryFileGridRow\setFileType
setFileType($fileType)
Definition: LibraryFileGridRow.inc.php:55
LibraryFileGridRow\__construct
__construct($canEdit=false, $submission=null)
Definition: LibraryFileGridRow.inc.php:38
LibraryFileGridRow\initialize
initialize($request, $template=null)
Definition: LibraryFileGridRow.inc.php:65
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
LibraryFileGridRow
Handle library file grid row requests.
Definition: LibraryFileGridRow.inc.php:22
LibraryFileGridRow\getFileType
getFileType()
Definition: LibraryFileGridRow.inc.php:51
LibraryFileGridRow\$_fileType
$_fileType
Definition: LibraryFileGridRow.inc.php:27
LibraryFileGridRow\$_canEdit
$_canEdit
Definition: LibraryFileGridRow.inc.php:30