diff --git a/application/controllers/HostsController.php b/application/controllers/HostsController.php index 87d98666..1ad7e9bc 100644 --- a/application/controllers/HostsController.php +++ b/application/controllers/HostsController.php @@ -70,7 +70,7 @@ class HostsController extends Controller $limitControl, viewModeSwitcherClass: TabularViewModeSwitcher::class ); - $columns = $this->createColumnControl($hosts, $viewModeSwitcher); + $columns = $this->createColumnControl($hosts, $viewModeSwitcher, ['host.name', 'host.state.output']); $searchBar = $this->createSearchBar($hosts, [ $limitControl->getLimitParam(), @@ -296,9 +296,4 @@ class HostsController extends Controller return new FeatureStatus('host', $summary->first()); } - - protected function getDefaultColumns(): string - { - return 'host.name, host.state.output'; - } } diff --git a/application/controllers/ServicesController.php b/application/controllers/ServicesController.php index 84873c70..6de66c46 100644 --- a/application/controllers/ServicesController.php +++ b/application/controllers/ServicesController.php @@ -81,7 +81,7 @@ class ServicesController extends Controller $limitControl, viewModeSwitcherClass: TabularViewModeSwitcher::class ); - $columns = $this->createColumnControl($services, $viewModeSwitcher); + $columns = $this->createColumnControl($services, $viewModeSwitcher, ['service.name', 'service.state.output']); $searchBar = $this->createSearchBar($services, [ $limitControl->getLimitParam(), @@ -494,9 +494,4 @@ class ServicesController extends Controller return $problemToggle; } - - protected function getDefaultColumns(): string - { - return 'service.name, service.state.output'; - } } diff --git a/library/Icingadb/Web/Controller.php b/library/Icingadb/Web/Controller.php index 9284cd9d..82dbdbfb 100644 --- a/library/Icingadb/Web/Controller.php +++ b/library/Icingadb/Web/Controller.php @@ -79,26 +79,27 @@ class Controller extends CompatController * * @param Query $query * @param ViewModeSwitcher $viewModeSwitcher + * @param array $defaultColumns * * @return array provided columns */ - public function createColumnControl(Query $query, ViewModeSwitcher $viewModeSwitcher): array + public function createColumnControl(Query $query, ViewModeSwitcher $viewModeSwitcher, array $defaultColumns): array { // All of that is essentially what `ColumnControl::apply()` should do $viewMode = $viewModeSwitcher->getViewMode(); $columnsDef = $this->params->shift('columns'); if (! $columnsDef) { if ($viewMode === 'tabular') { - $columnsDef = $this->getDefaultColumns(); + $columns = $defaultColumns; } else { return []; } - } - - $columns = []; - foreach (explode(',', $columnsDef) as $column) { - if ($column = trim($column)) { - $columns[] = $column; + } else { + $columns = []; + foreach (explode(',', $columnsDef) as $column) { + if ($column = trim($column)) { + $columns[] = $column; + } } } @@ -497,9 +498,4 @@ class Controller extends CompatController ->getPlugin('Zend_Controller_Plugin_ErrorHandler') ->setErrorHandlerModule('icingadb'); } - - protected function getDefaultColumns(): string - { - return 'name, state.output'; - } }