16 import(
'lib.pkp.classes.controllers.grid.DataObjectGridCellProvider');
25 function __construct($plugin, $authorizedRoles =
null) {
26 $this->_plugin = $plugin;
27 if ($authorizedRoles) {
28 $this->_authorizedRoles = $authorizedRoles;
30 parent::__construct();
41 function getCellActions($request, $row, $column, $position = GRID_ACTION_POSITION_DEFAULT) {
42 $submission = $row->getData();
43 $columnId = $column->getId();
44 assert(is_a($submission,
'Submission') && !empty($columnId));
46 import(
'lib.pkp.classes.linkAction.request.RedirectAction');
49 $this->_titleColumn = $column;
50 $title = $submission->getLocalizedTitle();
51 if (empty($title)) $title = __(
'common.untitled');
52 $authorsInTitle = $submission->getShortAuthorString();
53 $title = $authorsInTitle .
'; ' . $title;
54 import(
'classes.core.Services');
59 Services::get(
'submission')->getWorkflowUrlByUserRoles($submission)
61 htmlspecialchars($title)
65 $status = $submission->getData($this->_plugin->getDepositStatusSettingName());
66 $statusNames = $this->_plugin->getStatusNames();
67 $statusActions = $this->_plugin->getStatusActions($submission);
68 if ($status && array_key_exists($status, $statusActions)) {
69 assert(array_key_exists($status, $statusNames));
70 return array($statusActions[$status]);
73 return parent::getCellActions($request, $row, $column, $position);
83 $submission = $row->getData();
84 $columnId = $column->getId();
85 assert(is_a($submission,
'Submission') && !empty($columnId));
89 return array(
'label' => $submission->getId());
91 return array(
'label' =>
'');
93 $status = $submission->getData($this->_plugin->getDepositStatusSettingName());
94 $statusNames = $this->_plugin->getStatusNames();
95 $statusActions = $this->_plugin->getStatusActions($submission);
97 if (array_key_exists($status, $statusActions)) {
100 assert(array_key_exists($status, $statusNames));
101 $label = $statusNames[$status];
104 $label = $statusNames[EXPORT_STATUS_NOT_DEPOSITED];
106 return array(
'label' => $label);