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 $publishedIssue = $row->getData();
43 $columnId = $column->getId();
44 assert(is_a($publishedIssue,
'Issue') && !empty($columnId));
47 case 'identification':
51 import(
'lib.pkp.classes.linkAction.request.AjaxModal');
56 $dispatcher->url($request, ROUTE_COMPONENT,
null,
'grid.issues.BackIssueGridHandler',
'editIssue',
null, array(
'issueId' => $publishedIssue->getId())),
57 __(
'plugins.importexport.common.settings.DOIPluginSettings')
59 htmlspecialchars($publishedIssue->getIssueIdentification()),
64 $status = $publishedIssue->getData($this->_plugin->getDepositStatusSettingName());
65 $statusNames = $this->_plugin->getStatusNames();
66 $statusActions = $this->_plugin->getStatusActions($publishedIssue);
67 if ($status && array_key_exists($status, $statusActions)) {
68 assert(array_key_exists($status, $statusNames));
69 import(
'lib.pkp.classes.linkAction.request.RedirectAction');
74 $statusActions[$status],
82 return parent::getCellActions($request, $row, $column, $position);
92 $publishedIssue = $row->getData();
93 $columnId = $column->getId();
94 assert(is_a($publishedIssue,
'Issue') && !empty($columnId));
97 case 'identification':
98 return array(
'label' =>
'');
100 return array(
'label' => $publishedIssue->getDatePublished());
102 return array(
'label' => $publishedIssue->getStoredPubId($this->_plugin->getPubIdType()));
104 $status = $publishedIssue->getData($this->_plugin->getDepositStatusSettingName());
105 $statusNames = $this->_plugin->getStatusNames();
106 $statusActions = $this->_plugin->getStatusActions($publishedIssue);
108 if (array_key_exists($status, $statusActions)) {
111 assert(array_key_exists($status, $statusNames));
112 $label = $statusNames[$status];
115 $label = $statusNames[EXPORT_STATUS_NOT_DEPOSITED];
117 return array(
'label' => $label);