16 import(
'lib.pkp.classes.controllers.grid.DataObjectGridCellProvider');
26 function __construct($plugin, $authorizedRoles =
null) {
27 $this->_plugin = $plugin;
28 if ($authorizedRoles) {
29 $this->_authorizedRoles = $authorizedRoles;
31 parent::__construct();
42 function getCellActions($request, $row, $column, $position = GRID_ACTION_POSITION_DEFAULT) {
43 $galley = $row->getData();
44 $columnId = $column->getId();
45 assert(is_a($galley,
'ArticleGalley') && !empty($columnId));
47 $publication =
Services::get(
'publication')->get($galley->getData(
'publicationId'));
48 $submission =
Services::get(
'submission')->get($publication->getData(
'submissionId'));
49 import(
'lib.pkp.classes.linkAction.request.RedirectAction');
52 $this->_titleColumn = $column;
53 $title = $submission->getLocalizedTitle();
54 if (empty($title)) $title = __(
'common.untitled');
55 $authorsInTitle = $submission->getShortAuthorString();
56 $title = $authorsInTitle .
'; ' . $title;
57 import(
'classes.core.Services');
62 Services::get(
'submission')->getWorkflowUrlByUserRoles($submission)
64 htmlspecialchars($title)
68 $status = $galley->getData($this->_plugin->getDepositStatusSettingName());
69 $statusNames = $this->_plugin->getStatusNames();
70 $statusActions = $this->_plugin->getStatusActions($submission);
71 if ($status && array_key_exists($status, $statusActions)) {
72 assert(array_key_exists($status, $statusNames));
77 $statusActions[$status],
80 htmlspecialchars($statusNames[$status])
85 return parent::getCellActions($request, $row, $column, $position);
95 $submissionGalley = $row->getData();
96 $columnId = $column->getId();
97 assert(is_a($submissionGalley,
'ArticleGAlley') && !empty($columnId));
101 return array(
'label' => $submissionGalley->getId());
103 return array(
'label' =>
'');
105 return array(
'label' => $submissionGalley->getGalleyLabel());
107 return array(
'label' => $submissionGalley->getStoredPubId($this->_plugin->getPubIdType()));
109 $status = $submissionGalley->getData($this->_plugin->getDepositStatusSettingName());
110 $statusNames = $this->_plugin->getStatusNames();
111 $statusActions = $this->_plugin->getStatusActions($submissionGalley);
113 if (array_key_exists($status, $statusActions)) {
116 assert(array_key_exists($status, $statusNames));
117 $label = $statusNames[$status];
120 $label = $statusNames[EXPORT_STATUS_NOT_DEPOSITED];
122 return array(
'label' => $label);