From 6c39fb51f8bd73c852c8b6e46702bea11b8729ae Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Wed, 17 Feb 2016 18:23:38 +0100 Subject: [PATCH 1/4] Menu: move Configuration/Authentication to Configuration/Application/Authentication refs #10309 --- application/controllers/ConfigController.php | 23 ++++---------------- library/Icinga/Application/Web.php | 6 ----- 2 files changed, 4 insertions(+), 25 deletions(-) diff --git a/application/controllers/ConfigController.php b/application/controllers/ConfigController.php index 7b01bbff5..ce8440749 100644 --- a/application/controllers/ConfigController.php +++ b/application/controllers/ConfigController.php @@ -45,27 +45,12 @@ class ConfigController extends Controller 'url' => 'config/resource', 'baseTarget' => '_main' )); - return $tabs; - } - - /** - * Create and return the tabs to display when showing authentication configuration - */ - public function createAuthenticationTabs() - { - $tabs = $this->getTabs(); - $tabs->add('userbackend', array( - 'title' => $this->translate('Configure how users authenticate with and log into Icinga Web 2'), - 'label' => $this->translate('Users'), + $tabs->add('authentication', array( + 'title' => $this->translate('Configure the user and group backends'), + 'label' => $this->translate('Authentication'), 'url' => 'config/userbackend', 'baseTarget' => '_main' )); - $tabs->add('usergroupbackend', array( - 'title' => $this->translate('Configure how users are associated with groups by Icinga Web 2'), - 'label' => $this->translate('User Groups'), - 'url' => 'usergroupbackend/list', - 'baseTarget' => '_main' - )); return $tabs; } @@ -194,7 +179,7 @@ class ConfigController extends Controller $form->handleRequest(); $this->view->form = $form; - $this->createAuthenticationTabs()->activate('userbackend'); + $this->createApplicationTabs()->activate('authentication'); $this->render('userbackend/reorder'); } diff --git a/library/Icinga/Application/Web.php b/library/Icinga/Application/Web.php index d0535423f..f50beb2e8 100644 --- a/library/Icinga/Application/Web.php +++ b/library/Icinga/Application/Web.php @@ -321,12 +321,6 @@ class Web extends EmbeddedWeb 'permission' => 'config/application/*', 'priority' => 810 ), - 'authentication' => array( - 'label' => t('Authentication'), - 'url' => 'config/userbackend', - 'permission' => 'config/application/*', - 'priority' => 820 - ), 'authorization' => array( 'label' => t('Authorization'), 'permission' => 'config/authentication/*', From 88ff055f39b669a9750d084d39649418f0ee8384 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Wed, 17 Feb 2016 18:43:26 +0100 Subject: [PATCH 2/4] Combine the lists of user and group backends refs #10309 --- application/controllers/ConfigController.php | 4 +- .../UsergroupbackendController.php | 36 ++---------- .../scripts/config/userbackend/reorder.phtml | 52 +++++++++++++++++ .../views/scripts/usergroupbackend/list.phtml | 56 ------------------- 4 files changed, 59 insertions(+), 89 deletions(-) delete mode 100644 application/views/scripts/usergroupbackend/list.phtml diff --git a/application/controllers/ConfigController.php b/application/controllers/ConfigController.php index ce8440749..c1d75b711 100644 --- a/application/controllers/ConfigController.php +++ b/application/controllers/ConfigController.php @@ -169,16 +169,18 @@ class ConfigController extends Controller } /** - * Action for listing and reordering user backends + * Action for listing user and group backends */ public function userbackendAction() { $this->assertPermission('config/application/userbackend'); + $this->assertPermission('config/application/usergroupbackend'); $form = new UserBackendReorderForm(); $form->setIniConfig(Config::app('authentication')); $form->handleRequest(); $this->view->form = $form; + $this->view->backendNames = Config::app('groups'); $this->createApplicationTabs()->activate('authentication'); $this->render('userbackend/reorder'); } diff --git a/application/controllers/UsergroupbackendController.php b/application/controllers/UsergroupbackendController.php index 2f134cddd..14456fc01 100644 --- a/application/controllers/UsergroupbackendController.php +++ b/application/controllers/UsergroupbackendController.php @@ -29,16 +29,7 @@ class UsergroupbackendController extends Controller */ public function indexAction() { - $this->redirectNow('usergroupbackend/list'); - } - - /** - * Show a list of all user group backends - */ - public function listAction() - { - $this->view->backendNames = Config::app('groups'); - $this->createListTabs()->activate('usergroupbackend'); + $this->redirectNow('config/userbackend'); } /** @@ -47,7 +38,7 @@ class UsergroupbackendController extends Controller public function createAction() { $form = new UserGroupBackendForm(); - $form->setRedirectUrl('usergroupbackend/list'); + $form->setRedirectUrl('config/userbackend'); $form->addDescription($this->translate('Create a new backend to associate users and groups with.')); $form->setIniConfig(Config::app('groups')); $form->setOnSuccess(function (UserGroupBackendForm $form) { @@ -78,7 +69,7 @@ class UsergroupbackendController extends Controller $backendName = $this->params->getRequired('backend'); $form = new UserGroupBackendForm(); - $form->setRedirectUrl('usergroupbackend/list'); + $form->setRedirectUrl('config/userbackend'); $form->setIniConfig(Config::app('groups')); $form->setOnSuccess(function (UserGroupBackendForm $form) use ($backendName) { try { @@ -121,7 +112,7 @@ class UsergroupbackendController extends Controller $backendForm = new UserGroupBackendForm(); $backendForm->setIniConfig(Config::app('groups')); $form = new ConfirmRemovalForm(); - $form->setRedirectUrl('usergroupbackend/list'); + $form->setRedirectUrl('config/userbackend'); $form->setOnSuccess(function (ConfirmRemovalForm $form) use ($backendName, $backendForm) { try { $backendForm->delete($backendName); @@ -141,23 +132,4 @@ class UsergroupbackendController extends Controller $this->renderForm($form, $this->translate('Remove User Group Backend')); } - - /** - * Create the tabs for the application configuration - */ - protected function createListTabs() - { - $tabs = $this->getTabs(); - $tabs->add('userbackend', array( - 'title' => $this->translate('Configure how users authenticate with and log into Icinga Web 2'), - 'label' => $this->translate('Users'), - 'url' => 'config/userbackend' - )); - $tabs->add('usergroupbackend', array( - 'title' => $this->translate('Configure how users are associated with groups by Icinga Web 2'), - 'label' => $this->translate('User Groups'), - 'url' => 'usergroupbackend/list' - )); - return $tabs; - } } diff --git a/application/views/scripts/config/userbackend/reorder.phtml b/application/views/scripts/config/userbackend/reorder.phtml index a065b6005..02eec6b1d 100644 --- a/application/views/scripts/config/userbackend/reorder.phtml +++ b/application/views/scripts/config/userbackend/reorder.phtml @@ -14,4 +14,56 @@ ) ) ?> + + qlink( + $this->translate('Create a New User Group Backend') , + 'usergroupbackend/create', + null, + array( + 'class' => 'button-link', + 'data-base-target' => '_next', + 'icon' => 'plus', + 'title' => $this->translate('Create a new user group backend') + ) + ) ?> + + + + + + + + + + $config): + $type = $config->get('backend'); +?> + + + + + + +
translate('Backend') ?>
+ qlink( + $backendName, + 'usergroupbackend/edit', + array('backend' => $backendName), + array( + 'icon' => $type === 'external' ? 'magic' : ($type === 'ldap' || $type === 'msldap' ? 'sitemap' : 'database'), + 'title' => sprintf($this->translate('Edit user group backend %s'), $backendName) + ) + ); ?> + + qlink( + null, + 'usergroupbackend/remove', + array('backend' => $backendName), + array( + 'class' => 'action-link', + 'icon' => 'cancel', + 'title' => sprintf($this->translate('Remove user group backend %s'), $backendName) + ) + ) ?> +
diff --git a/application/views/scripts/usergroupbackend/list.phtml b/application/views/scripts/usergroupbackend/list.phtml deleted file mode 100644 index 5ce1df90f..000000000 --- a/application/views/scripts/usergroupbackend/list.phtml +++ /dev/null @@ -1,56 +0,0 @@ -
- -
-
- qlink( - $this->translate('Create a New User Group Backend') , - 'usergroupbackend/create', - null, - array( - 'class' => 'button-link', - 'data-base-target' => '_next', - 'icon' => 'plus', - 'title' => $this->translate('Create a new user group backend') - ) - ) ?> - - - - - - - - - - $config): - $type = $config->get('backend'); -?> - - - - - - -
translate('Backend') ?>
- qlink( - $backendName, - 'usergroupbackend/edit', - array('backend' => $backendName), - array( - 'icon' => $type === 'external' ? 'magic' : ($type === 'ldap' || $type === 'msldap' ? 'sitemap' : 'database'), - 'title' => sprintf($this->translate('Edit user group backend %s'), $backendName) - ) - ); ?> - - qlink( - null, - 'usergroupbackend/remove', - array('backend' => $backendName), - array( - 'class' => 'action-link', - 'icon' => 'cancel', - 'title' => sprintf($this->translate('Remove user group backend %s'), $backendName) - ) - ) ?> -
-
From 4e9e0f9b358699f8bd964c893dffba911718524a Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Wed, 17 Feb 2016 18:48:47 +0100 Subject: [PATCH 3/4] Separate the lists of user and group backends with headings refs #10309 --- application/views/scripts/config/userbackend/reorder.phtml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/application/views/scripts/config/userbackend/reorder.phtml b/application/views/scripts/config/userbackend/reorder.phtml index 02eec6b1d..a8e351e5d 100644 --- a/application/views/scripts/config/userbackend/reorder.phtml +++ b/application/views/scripts/config/userbackend/reorder.phtml @@ -2,6 +2,7 @@
+

translate('User Backends') ?>

qlink( $this->translate('Create a New User Backend') , 'config/createuserbackend', @@ -15,6 +16,7 @@ ) ?> +

translate('User Group Backends') ?>

qlink( $this->translate('Create a New User Group Backend') , 'usergroupbackend/create', From a3c7a04826e0a2c38a855c3d4b9a069601022a22 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Wed, 17 Feb 2016 18:56:55 +0100 Subject: [PATCH 4/4] Menu: rename Configuration/Authorization to Configuration/Authentication refs #10309 --- library/Icinga/Application/Web.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/Icinga/Application/Web.php b/library/Icinga/Application/Web.php index f50beb2e8..c3328a169 100644 --- a/library/Icinga/Application/Web.php +++ b/library/Icinga/Application/Web.php @@ -321,8 +321,8 @@ class Web extends EmbeddedWeb 'permission' => 'config/application/*', 'priority' => 810 ), - 'authorization' => array( - 'label' => t('Authorization'), + 'authentication' => array( + 'label' => t('Authentication'), 'permission' => 'config/authentication/*', 'priority' => 830, 'url' => 'role/list'