Open Journal Systems  3.3.0
ArticleGalleyGridCellProvider.inc.php
1 <?php
2 
16 import('lib.pkp.classes.controllers.grid.DataObjectGridCellProvider');
17 
19 
21  var $_submission;
22 
25 
26  var $_isEditable;
27 
32  function __construct($submission, $publication, $isEditable) {
33  parent::__construct();
34  $this->_submission = $submission;
35  $this->_publication = $publication;
36  $this->_isEditable = $isEditable;
37  }
38 
39  //
40  // Template methods from GridCellProvider
41  //
45  function getTemplateVarsFromRowColumn($row, $column) {
46  $element = $row->getData();
47  $columnId = $column->getId();
48  assert(is_a($element, 'DataObject') && !empty($columnId));
49 
50  switch ($columnId) {
51  case 'label':
52  return array(
53  'label' => ($element->getRemoteUrl()=='' && $element->getFileId())?'':$element->getLabel()
54  );
55  break;
56  default: assert(false);
57  }
58  return parent::getTemplateVarsFromRowColumn($row, $column);
59  }
60 
66  function getRequestArgs($row) {
67  return array(
68  'submissionId' => $this->_submission->getId(),
69  'publicationId' => $this->_publication->getId(),
70  );
71  }
72 
76  function getCellActions($request, $row, $column, $position = GRID_ACTION_POSITION_DEFAULT) {
77  switch ($column->getId()) {
78  case 'label':
79  $element = $row->getData();
80  if ($element->getRemoteUrl() != '' || !$element->getFileId()) break;
81 
82  $submissionFileDao = DAORegistry::getDAO('SubmissionFileDAO'); /* @var $submissionFileDao SubmissionFileDAO */
83  import('lib.pkp.classes.submission.SubmissionFile');
84  $submissionFile = $submissionFileDao->getLatestRevision(
85  $element->getFileId(),
86  null,
87  $this->_submission->getId()
88  );
89  import('lib.pkp.controllers.api.file.linkAction.DownloadFileLinkAction');
90  return array(new DownloadFileLinkAction($request, $submissionFile, WORKFLOW_STAGE_ID_PRODUCTION, $element->getLabel()));
91  }
92  return parent::getCellActions($request, $row, $column, $position);
93  }
94 }
95 
96 
ArticleGalleyGridCellProvider\__construct
__construct($submission, $publication, $isEditable)
Definition: ArticleGalleyGridCellProvider.inc.php:38
ArticleGalleyGridCellProvider\$_publication
$_publication
Definition: ArticleGalleyGridCellProvider.inc.php:30
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
GridCellProvider\__construct
__construct()
Definition: GridCellProvider.inc.php:24
ArticleGalleyGridCellProvider
Base class for a cell provider for article galleys.
Definition: ArticleGalleyGridCellProvider.inc.php:18
ArticleGalleyGridCellProvider\getRequestArgs
getRequestArgs($row)
Definition: ArticleGalleyGridCellProvider.inc.php:72
ArticleGalleyGridCellProvider\getCellActions
getCellActions($request, $row, $column, $position=GRID_ACTION_POSITION_DEFAULT)
Definition: ArticleGalleyGridCellProvider.inc.php:82
DataObjectGridCellProvider
Base class for a cell provider that can retrieve simple labels from DataObjects. If you need more com...
Definition: DataObjectGridCellProvider.inc.php:22
ArticleGalleyGridCellProvider\$_submission
$_submission
Definition: ArticleGalleyGridCellProvider.inc.php:24
ArticleGalleyGridCellProvider\$_isEditable
$_isEditable
Definition: ArticleGalleyGridCellProvider.inc.php:32
DownloadFileLinkAction
An action to download a file.
Definition: DownloadFileLinkAction.inc.php:17
ArticleGalleyGridCellProvider\getTemplateVarsFromRowColumn
getTemplateVarsFromRowColumn($row, $column)
Definition: ArticleGalleyGridCellProvider.inc.php:51