From 2cf52df0a8aa71d6e8591c846a5f6222f2afb0df Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Fri, 18 Sep 2015 08:53:05 +0200 Subject: [PATCH] user navigation overview: Add sort control refs #5600 --- .../controllers/NavigationController.php | 22 ++++++++++++++----- .../views/scripts/navigation/index.phtml | 8 +++++++ .../views/scripts/navigation/shared.phtml | 2 +- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/application/controllers/NavigationController.php b/application/controllers/NavigationController.php index da33a5291..9aad0e7e6 100644 --- a/application/controllers/NavigationController.php +++ b/application/controllers/NavigationController.php @@ -7,6 +7,7 @@ use Exception; use Icinga\Application\Config; use Icinga\Application\Icinga; use Icinga\Exception\NotFoundError; +use Icinga\Data\DataArray\ArrayDatasource; use Icinga\Forms\ConfirmRemovalForm; use Icinga\Forms\Navigation\NavigationConfigForm; use Icinga\Web\Controller; @@ -63,14 +64,16 @@ class NavigationController extends Controller public function indexAction() { $user = $this->Auth()->getUser(); - $userConfig = $user->loadNavigationConfig(); - $sharedConfig = Config::app('navigation'); + + $ds = new ArrayDatasource(array_merge( + Config::app('navigation')->select()->where('owner', $user->getUsername())->fetchAll(), + iterator_to_array($user->loadNavigationConfig()) + )); + $ds->setKeyColumn('name'); + $query = $ds->select(); $this->view->types = $this->listItemTypes(); - $this->view->items = array_merge( - $sharedConfig->select()->where('owner', $user->getUsername())->fetchAll(), - iterator_to_array($userConfig) - ); + $this->view->items = $query; $this->getTabs()->add( 'navigation', @@ -80,6 +83,13 @@ class NavigationController extends Controller 'url' => 'navigation' ) )->activate('navigation'); + $this->setupSortControl( + array( + 'name' => $this->translate('Shared Navigation'), + 'type' => $this->translate('Type') + ), + $query + ); } /** diff --git a/application/views/scripts/navigation/index.phtml b/application/views/scripts/navigation/index.phtml index 0914821f9..796e3b7c1 100644 --- a/application/views/scripts/navigation/index.phtml +++ b/application/views/scripts/navigation/index.phtml @@ -1,12 +1,19 @@ compact): ?>
tabs; ?> + sortBox; ?> + limiter; ?> + paginator; ?> + filterEditor; ?>
icon('plus'); ?> translate('Create A New Navigation Item'); ?> + +

translate('You did not create any navigation item yet'); ?>

+ @@ -40,4 +47,5 @@
translate('Navigation'); ?>
+
\ No newline at end of file diff --git a/application/views/scripts/navigation/shared.phtml b/application/views/scripts/navigation/shared.phtml index 8d52fd7b5..0d7555020 100644 --- a/application/views/scripts/navigation/shared.phtml +++ b/application/views/scripts/navigation/shared.phtml @@ -9,7 +9,7 @@
- translate('There are currently no navigation items being shared'); ?> +

translate('There are currently no navigation items being shared'); ?>