16 import(
'lib.pkp.classes.controllers.grid.GridHandler');
17 import(
'controllers.grid.pubIds.PubIdExportIssuesListGridCellProvider');
27 parent::__construct();
29 array(ROLE_ID_MANAGER),
30 array(
'fetchGrid',
'fetchRow')
40 function authorize($request, &$args, $roleAssignments) {
41 import(
'lib.pkp.classes.security.authorization.PolicySet');
42 $rolePolicy =
new PolicySet(COMBINING_PERMIT_OVERRIDES);
44 import(
'lib.pkp.classes.security.authorization.RoleBasedHandlerOperationPolicy');
45 foreach($roleAssignments as $role => $operations) {
50 return parent::authorize($request, $args, $roleAssignments);
57 parent::initialize($request, $args);
60 $this->
setTitle(
'plugins.importexport.common.export.issues');
64 LOCALE_COMPONENT_APP_EDITOR,
65 LOCALE_COMPONENT_APP_MANAGER
68 $pluginCategory = $request->getUserVar(
'category');
69 $pluginPathName = $request->getUserVar(
'plugin');
71 assert(isset($this->_plugin));
86 'alignment' => COLUMN_ALIGNMENT_LEFT)
92 'editor.issues.published',
97 'alignment' => COLUMN_ALIGNMENT_LEFT)
104 $this->_plugin->getPubIdDisplayType(),
107 array(
'alignment' => COLUMN_ALIGNMENT_LEFT,
118 array(
'alignment' => COLUMN_ALIGNMENT_LEFT,
132 import(
'lib.pkp.classes.controllers.grid.feature.selectableItems.SelectableItemsFeature');
133 import(
'lib.pkp.classes.controllers.grid.feature.PagingFeature');
141 return array_merge(parent::getRequestArgs(), array(
'category' => $this->_plugin->getCategory(),
'plugin' => basename($this->_plugin->getPluginPath())));
155 return 'selectedIssues';
162 return 'controllers/grid/pubIds/pubIdExportIssuesGridFilter.tpl';
168 function renderFilter($request, $filterData = array()) {
169 $statusNames = $this->_plugin->getStatusNames();
170 $allFilterData = array_merge(
173 'status' => $statusNames,
174 'gridId' => $this->
getId(),
176 return parent::renderFilter($request, $allFilterData);
183 $statusId = (string) $request->getUserVar(
'statusId');
185 'statusId' => $statusId,
192 protected function loadData($request, $filter) {
193 $context = $request->getContext();
195 $pubIdStatusSettingName =
null;
197 $pubIdStatusSettingName = $this->_plugin->getDepositStatusSettingName();
200 return $issueDao->getExportable(
202 $this->_plugin->getPubIdType(),
203 $pubIdStatusSettingName,
205 $this->getGridRangeInfo($request, $this->getId())
215 if (isset($filter[
'statusId']) && $filter[
'statusId'] != EXPORT_STATUS_ANY) {
216 $statusId = $filter[
'statusId'];
220 return array($statusId);