Open Journal Systems  3.3.0
ArticleGalleyGridRow.inc.php
1 <?php
2 
16 import('lib.pkp.classes.controllers.grid.GridRow');
17 
20  var $_submission;
21 
24 
26  var $_isEditable;
27 
33  function __construct($submission, $publication, $isEditable) {
34  $this->_submission = $submission;
35  $this->_publication = $publication;
36  $this->_isEditable = $isEditable;
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  // Is this a new row or an existing row?
52  $rowId = $this->getId();
53  if (!empty($rowId) && is_numeric($rowId)) {
54  // Only add row actions if this is an existing row
55  $router = $request->getRouter();
56  $actionArgs = $this->getRequestArgs();
57  $actionArgs['representationId'] = $rowId;
58 
59  if ($this->_isEditable) {
60  // Add row-level actions
61  import('lib.pkp.classes.linkAction.request.AjaxModal');
62  $this->addAction(new LinkAction(
63  'editGalley',
64  new AjaxModal(
65  $router->url($request, null, null, 'editGalley', null, $actionArgs),
66  __('submission.layout.editGalley'),
67  'modal_edit'
68  ),
69  __('grid.action.edit'),
70  'edit'
71  ));
72 
73  $galley = $this->getData();
74  if ($galley->getRemoteUrl() == '') {
75  import('lib.pkp.controllers.api.file.linkAction.AddFileLinkAction');
76  import('lib.pkp.classes.submission.SubmissionFile'); // Constants
77  $this->addAction(new AddFileLinkAction(
78  $request, $this->getSubmission()->getId(), WORKFLOW_STAGE_ID_PRODUCTION,
79  array(ROLE_ID_MANAGER, ROLE_ID_SUB_EDITOR, ROLE_ID_ASSISTANT),
80  SUBMISSION_FILE_PROOF, ASSOC_TYPE_REPRESENTATION, $rowId,
81  null
82  ));
83  }
84 
85  import('lib.pkp.classes.linkAction.request.RemoteActionConfirmationModal');
86  $this->addAction(new LinkAction(
87  'deleteGalley',
89  $request->getSession(),
90  __('common.confirmDelete'),
91  __('grid.action.delete'),
92  $router->url($request, null, null, 'deleteGalley', null, $actionArgs), 'modal_delete'),
93  __('grid.action.delete'),
94  'delete'
95  ));
96  }
97  }
98  }
99 
104  function getSubmission() {
105  return $this->_submission;
106  }
107 
112  function getPublication() {
114  }
115 
120  function getRequestArgs() {
121  return array(
122  'submissionId' => $this->getSubmission()->getId(),
123  'publicationId' => $this->getPublication()->getId(),
124  );
125  }
126 }
127 
128 
ArticleGalleyGridRow\$_submission
$_submission
Definition: ArticleGalleyGridRow.inc.php:23
ArticleGalleyGridRow\getRequestArgs
getRequestArgs()
Definition: ArticleGalleyGridRow.inc.php:129
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
ArticleGalleyGridRow\getSubmission
getSubmission()
Definition: ArticleGalleyGridRow.inc.php:113
GridRow\addAction
addAction($action, $position=GRID_ACTION_POSITION_DEFAULT)
Definition: GridRow.inc.php:179
GridBodyElement\getId
getId()
Definition: GridBodyElement.inc.php:57
ArticleGalleyGridRow\$_publication
$_publication
Definition: ArticleGalleyGridRow.inc.php:29
ArticleGalleyGridRow\initialize
initialize($request, $template=null)
Definition: ArticleGalleyGridRow.inc.php:56
ArticleGalleyGridRow\$_isEditable
$_isEditable
Definition: ArticleGalleyGridRow.inc.php:35
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
AddFileLinkAction
An action to add a submission file.
Definition: AddFileLinkAction.inc.php:18
ArticleGalleyGridRow\__construct
__construct($submission, $publication, $isEditable)
Definition: ArticleGalleyGridRow.inc.php:42
ArticleGalleyGridRow
Representation of an article galley grid row.
Definition: ArticleGalleyGridRow.inc.php:18
GridRow\getData
& getData()
Definition: GridRow.inc.php:131
ArticleGalleyGridRow\getPublication
getPublication()
Definition: ArticleGalleyGridRow.inc.php:121