Open Journal Systems  3.3.0
BackIssueGridHandler.inc.php
1 <?php
2 
16 import('classes.controllers.grid.issues.IssueGridHandler');
17 
22  function __construct() {
23  parent::__construct();
24  $this->addRoleAssignment(
25  array(ROLE_ID_MANAGER),
26  array('saveSequence')
27  );
28  }
29 
30 
31  //
32  // Implement template methods from PKPHandler
33  //
37  function initialize($request, $args = null) {
38  parent::initialize($request, $args);
39 
40  // Basic grid configuration.
41  $this->setTitle('editor.issues.backIssues');
42  }
43 
48  protected function _addCenterColumns($issueGridCellProvider) {
49  // Published state
50  $this->addColumn(
51  new GridColumn(
52  'published',
53  'editor.issues.published',
54  null,
55  null,
56  $issueGridCellProvider
57  )
58  );
59  }
60 
64  function setDataElementSequence($request, $rowId, $gridDataElement, $newSequence) {
65  $issueDao = DAORegistry::getDAO('IssueDAO'); /* @var $issueDao IssueDAO */
66  $issueDao->moveCustomIssueOrder($gridDataElement->getJournalId(), $gridDataElement->getId(), $newSequence);
67  }
68 
72  function getDataElementSequence($gridDataElement) {
73  $issueDao = DAORegistry::getDAO('IssueDAO'); /* @var $issueDao IssueDAO */
74  $customOrder = $issueDao->getCustomIssueOrder($gridDataElement->getJournalId(), $gridDataElement->getId());
75  if ($customOrder !== null) return $customOrder;
76 
77  if ($gridDataElement->getCurrent()) return 0;
78  return $gridDataElement->getDatePublished();
79  }
80 
84  function initFeatures($request, $args) {
85  import('lib.pkp.classes.controllers.grid.feature.OrderGridItemsFeature');
86  return array(new OrderGridItemsFeature());
87  }
88 
92  protected function loadData($request, $filter) {
93  $journal = $request->getJournal();
94  $issueDao = DAORegistry::getDAO('IssueDAO'); /* @var $issueDao IssueDAO */
95  return $issueDao->getPublishedIssues($journal->getId());
96  }
97 
102  public function getJSHandler() {
103  return '$.pkp.controllers.grid.issues.BackIssueGridHandler';
104  }
105 }
106 
107 
PKPHandler\addRoleAssignment
addRoleAssignment($roleIds, $operations)
Definition: PKPHandler.inc.php:213
GridColumn
The GridColumn class represents a column within a grid. It is used to format the data presented in a ...
Definition: GridColumn.inc.php:27
BackIssueGridHandler\initFeatures
initFeatures($request, $args)
Definition: BackIssueGridHandler.inc.php:84
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
BackIssueGridHandler
Definition: BackIssueGridHandler.inc.php:18
BackIssueGridHandler\getJSHandler
getJSHandler()
Definition: BackIssueGridHandler.inc.php:102
BackIssueGridHandler\setDataElementSequence
setDataElementSequence($request, $rowId, $gridDataElement, $newSequence)
Definition: BackIssueGridHandler.inc.php:64
BackIssueGridHandler\__construct
__construct()
Definition: BackIssueGridHandler.inc.php:22
GridHandler\addColumn
addColumn($column)
Definition: GridHandler.inc.php:335
IssueGridHandler
Handle issues grid requests.
Definition: IssueGridHandler.inc.php:24
BackIssueGridHandler\loadData
loadData($request, $filter)
Definition: BackIssueGridHandler.inc.php:92
BackIssueGridHandler\initialize
initialize($request, $args=null)
Definition: BackIssueGridHandler.inc.php:37
BackIssueGridHandler\getDataElementSequence
getDataElementSequence($gridDataElement)
Definition: BackIssueGridHandler.inc.php:72
OrderGridItemsFeature
Implements grid ordering functionality.
Definition: OrderGridItemsFeature.inc.php:19
GridHandler\setTitle
setTitle($title)
Definition: GridHandler.inc.php:215
BackIssueGridHandler\_addCenterColumns
_addCenterColumns($issueGridCellProvider)
Definition: BackIssueGridHandler.inc.php:48