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 $contextId = $submission->getContextId();
69 $issueId = $submission->getCurrentPublication()->getData(
'issueId');
71 $issue = $issueDao->getById($issueId, $contextId);
75 import(
'lib.pkp.classes.linkAction.request.AjaxModal');
80 $dispatcher->url($request, ROUTE_COMPONENT,
null,
'grid.issues.BackIssueGridHandler',
'editIssue',
null, array(
'issueId' => $issue->getId())),
81 __(
'plugins.importexport.common.settings.DOIPluginSettings')
83 htmlspecialchars($issue->getIssueIdentification()),
88 $status = $galley->getData($this->_plugin->getDepositStatusSettingName());
89 $statusNames = $this->_plugin->getStatusNames();
90 $statusActions = $this->_plugin->getStatusActions($submission);
91 if ($status && array_key_exists($status, $statusActions)) {
92 assert(array_key_exists($status, $statusNames));
97 $statusActions[$status],
100 htmlspecialchars($statusNames[$status])
105 return parent::getCellActions($request, $row, $column, $position);
115 $submissionGalley = $row->getData();
116 $columnId = $column->getId();
117 assert(is_a($submissionGalley,
'ArticleGAlley') && !empty($columnId));
121 return array(
'label' => $submissionGalley->getId());
123 return array(
'label' =>
'');
125 return array(
'label' =>
'');
127 return array(
'label' => $submissionGalley->getGalleyLabel());
129 return array(
'label' => $submissionGalley->getStoredPubId($this->_plugin->getPubIdType()));
131 $status = $submissionGalley->getData($this->_plugin->getDepositStatusSettingName());
132 $statusNames = $this->_plugin->getStatusNames();
133 $statusActions = $this->_plugin->getStatusActions($submissionGalley);
135 if (array_key_exists($status, $statusActions)) {
138 assert(array_key_exists($status, $statusNames));
139 $label = $statusNames[$status];
142 $label = $statusNames[EXPORT_STATUS_NOT_DEPOSITED];
144 return array(
'label' => $label);