From 93cbd4f02033455b631c717c9d98f11b6fb04010 Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Sat, 6 Oct 2018 17:06:42 +0200 Subject: [PATCH] Dashboard: introduce "Director" section with... ..."Basket" --- application/controllers/BasketController.php | 11 ++++--- .../controllers/DashboardController.php | 2 +- .../Dashboard/Dashlet/BasketDashlet.php | 30 +++++++++++++++++++ .../Director/Dashboard/DirectorDashboard.php | 17 +++++++++++ .../Dashboard/InfrastructureDashboard.php | 2 -- 5 files changed, 53 insertions(+), 9 deletions(-) create mode 100644 library/Director/Dashboard/Dashlet/BasketDashlet.php create mode 100644 library/Director/Dashboard/DirectorDashboard.php diff --git a/application/controllers/BasketController.php b/application/controllers/BasketController.php index d1a0f1aa..e5c3c9b7 100644 --- a/application/controllers/BasketController.php +++ b/application/controllers/BasketController.php @@ -45,9 +45,7 @@ class BasketController extends ActionController $this->translate('Back'), 'director/baskets', null, - [ - 'class' => 'icon-left-big' - ] + ['class' => 'icon-left-big'] ) ); $uuid = hex2bin($this->params->get('uuid')); @@ -71,9 +69,7 @@ class BasketController extends ActionController $this->translate('back'), 'director/baskets', null, - [ - 'class' => 'icon-left-big' - ] + ['class' => 'icon-left-big'] ) ); $this->addSingleTab($this->translate('Create Basket')); @@ -84,6 +80,9 @@ class BasketController extends ActionController $this->content()->add($form); } + /** + * @throws \Icinga\Exception\NotFoundError + */ public function snapshotsAction() { $uuid = $this->params->get('uuid'); diff --git a/application/controllers/DashboardController.php b/application/controllers/DashboardController.php index a18ad40e..0bde4264 100644 --- a/application/controllers/DashboardController.php +++ b/application/controllers/DashboardController.php @@ -31,7 +31,7 @@ class DashboardController extends ActionController $this->setAutorefreshInterval(10); } - $mainDashboards = ['Objects', 'Alerts', 'Automation', 'Deployment', 'Data']; + $mainDashboards = ['Objects', 'Alerts', 'Automation', 'Deployment', 'Director', 'Data']; $this->setTitle($this->translate('Icinga Director - Main Dashboard')); $names = $this->params->getValues('name', $mainDashboards); if (! $this->params->has('name')) { diff --git a/library/Director/Dashboard/Dashlet/BasketDashlet.php b/library/Director/Dashboard/Dashlet/BasketDashlet.php new file mode 100644 index 00000000..12027552 --- /dev/null +++ b/library/Director/Dashboard/Dashlet/BasketDashlet.php @@ -0,0 +1,30 @@ +translate('Object Basket'); + } + + public function getSummary() + { + return $this->translate( + 'Preserve specific objects in a specific state' + ); + } + + public function getUrl() + { + return 'director/baskets'; + } + + public function listRequiredPermissions() + { + return array('director/admin'); + } +} diff --git a/library/Director/Dashboard/DirectorDashboard.php b/library/Director/Dashboard/DirectorDashboard.php new file mode 100644 index 00000000..47a17afe --- /dev/null +++ b/library/Director/Dashboard/DirectorDashboard.php @@ -0,0 +1,17 @@ +translate('Icinga Director Configuration'); + } +} diff --git a/library/Director/Dashboard/InfrastructureDashboard.php b/library/Director/Dashboard/InfrastructureDashboard.php index 14314f2f..ee1fd9ff 100644 --- a/library/Director/Dashboard/InfrastructureDashboard.php +++ b/library/Director/Dashboard/InfrastructureDashboard.php @@ -8,11 +8,9 @@ class InfrastructureDashboard extends Dashboard { protected $dashletNames = array( 'Kickstart', - 'SelfService', 'ApiUserObject', 'EndpointObject', 'ZoneObject', - 'Settings', ); public function getTitle()