Open Journal Systems  3.3.0
SubmissionsListPanel.inc.php
1 <?php
16 use \PKP\components\listPanels\PKPSubmissionsListPanel;
17 
19 
21  public $includeActiveSectionFiltersOnly = false;
22 
23  public $includeIssuesFilter = false;
24 
28  public function getConfig() {
29  $config = parent::getConfig();
30 
31  $request = \Application::get()->getRequest();
32  if ($request->getContext()) {
33  // Add section filters above last activity filter
34  array_splice($config['filters'], 2, 0, [[
35  'heading' => __('section.sections'),
36  'filters' => self::getSectionFilters($this->includeActiveSectionFiltersOnly),
37  ]]);
38  }
39 
40  $context = $request->getContext();
41  if ($this->includeIssuesFilter) {
42  $config['filters'][] = [
43  "filters" => [
44  [
45  'title' => _('issues'),
46  'param' => 'issueIds',
47  'value' => [],
48  'filterType' => 'pkp-filter-autosuggest',
49  'component' => 'field-select-issues',
50  'autosuggestProps' => [
51  'allErrors' => (object) [],
52  'apiUrl' => $request->getDispatcher()->url($request, ROUTE_API, $context->getPath(), 'issues', null, null, ['roleIds' => [ROLE_ID_MANAGER, ROLE_ID_SUB_EDITOR]]),
53  'description' => '',
54  'deselectLabel' => __('common.removeItem'),
55  'formId' => 'default',
56  'groupId' => 'default',
57  'initialPosition' => 'inline',
58  'isRequired' => false,
59  'label' => __('issues.submissions.issueIds'),
60  'locales' => [],
61  'name' => 'issueIds',
62  'primaryLocale' => 'en_US',
63  'selectedLabel' => __('common.assigned'),
64  'value' => [],
65  ]
66  ]
67  ]
68  ];
69  }
70  return $config;
71  }
72 
78  public function getWorkflowStages() {
79  return array(
80  array(
81  'param' => 'stageIds',
82  'value' => WORKFLOW_STAGE_ID_SUBMISSION,
83  'title' => __('manager.publication.submissionStage'),
84  ),
85  array(
86  'param' => 'stageIds',
87  'value' => WORKFLOW_STAGE_ID_EXTERNAL_REVIEW,
88  'title' => __('manager.publication.reviewStage'),
89  ),
90  array(
91  'param' => 'stageIds',
92  'value' => WORKFLOW_STAGE_ID_EDITING,
93  'title' => __('submission.copyediting'),
94  ),
95  array(
96  'param' => 'stageIds',
97  'value' => WORKFLOW_STAGE_ID_PRODUCTION,
98  'title' => __('manager.publication.productionStage'),
99  ),
100  );
101  }
102 
109  static function getSectionFilters($activeOnly = false) {
110  $request = \Application::get()->getRequest();
111  $context = $request->getContext();
112 
113  if (!$context) {
114  return [];
115  }
116 
117  $sections = \Services::get('section')->getSectionList($context->getId(), $activeOnly);
118 
119  return array_map(function($section) {
120  return [
121  'param' => 'sectionIds',
122  'value' => (int) $section['id'],
123  'title' => $section['title'],
124  ];
125  }, $sections);
126  }
127 }
APP\components\listPanels\SubmissionsListPanel\$includeActiveSectionFiltersOnly
$includeActiveSectionFiltersOnly
Definition: SubmissionsListPanel.inc.php:24
PKP\components\listPanels\PKPSubmissionsListPanel
Definition: PKPSubmissionsListPanel.inc.php:21
APP\components\listPanels\SubmissionsListPanel
Definition: SubmissionsListPanel.inc.php:18
APP\components\listPanels\SubmissionsListPanel\getWorkflowStages
getWorkflowStages()
Definition: SubmissionsListPanel.inc.php:81
APP\components\listPanels
Definition: EmailTemplatesListPanel.inc.php:15
APP\components\listPanels\SubmissionsListPanel\$includeIssuesFilter
$includeIssuesFilter
Definition: SubmissionsListPanel.inc.php:26
APP\components\listPanels\SubmissionsListPanel\getSectionFilters
static getSectionFilters($activeOnly=false)
Definition: SubmissionsListPanel.inc.php:112
APP\components\listPanels\SubmissionsListPanel\getConfig
getConfig()
Definition: SubmissionsListPanel.inc.php:31
PKPApplication\get
static get()
Definition: PKPApplication.inc.php:235
PKPServices\get
static get($service)
Definition: PKPServices.inc.php:49