diff options
author | szaimen <szaimen@e.mail.de> | 2022-03-07 13:07:25 +0300 |
---|---|---|
committer | szaimen <szaimen@e.mail.de> | 2022-08-30 16:46:09 +0300 |
commit | 955b6bb82ea38fa15a4659238b98bfc76cfc4420 (patch) | |
tree | 40d3af8ef6a1f3648e56ac452c9119fa885f7d91 | |
parent | f56ecf92426026c913497bea9f7ca99e8d3ac631 (diff) |
add a way to open the admin settings overview directly
Signed-off-by: szaimen <szaimen@e.mail.de>
-rw-r--r-- | apps/settings/lib/Controller/CommonSettingsTrait.php | 7 | ||||
-rw-r--r-- | lib/private/NavigationManager.php | 40 |
2 files changed, 36 insertions, 11 deletions
diff --git a/apps/settings/lib/Controller/CommonSettingsTrait.php b/apps/settings/lib/Controller/CommonSettingsTrait.php index 2eb7b4ccf99..4a15b0c7a32 100644 --- a/apps/settings/lib/Controller/CommonSettingsTrait.php +++ b/apps/settings/lib/Controller/CommonSettingsTrait.php @@ -134,7 +134,12 @@ trait CommonSettingsTrait { } private function getIndexResponse($type, $section) { - $this->navigationManager->setActiveEntry('settings'); + if ($type === 'personal') { + $this->navigationManager->setActiveEntry('settings'); + } elseif ($type === 'admin') { + $this->navigationManager->setActiveEntry('admin_settings'); + } + $templateParams = []; $templateParams = array_merge($templateParams, $this->getNavigationParameters($type, $section)); $templateParams = array_merge($templateParams, $this->getSettings($section)); diff --git a/lib/private/NavigationManager.php b/lib/private/NavigationManager.php index 2ffd25df9b8..b5fa87a9860 100644 --- a/lib/private/NavigationManager.php +++ b/lib/private/NavigationManager.php @@ -211,17 +211,37 @@ class NavigationManager implements INavigationManager { 'icon' => $this->urlGenerator->imagePath('settings', 'apps.svg'), 'name' => $l->t('Apps'), ]); - } - // Personal and (if applicable) admin settings - $this->add([ - 'type' => 'settings', - 'id' => 'settings', - 'order' => 2, - 'href' => $this->urlGenerator->linkToRoute('settings.PersonalSettings.index'), - 'name' => $l->t('Settings'), - 'icon' => $this->urlGenerator->imagePath('settings', 'admin.svg'), - ]); + // Personal settings + $this->add([ + 'type' => 'settings', + 'id' => 'settings', + 'order' => 2, + 'href' => $this->urlGenerator->linkToRoute('settings.PersonalSettings.index'), + 'name' => $l->t('Personal settings'), + 'icon' => $this->urlGenerator->imagePath('settings', 'admin.svg'), + ]); + + // Admin settings + $this->add([ + 'type' => 'settings', + 'id' => 'admin_settings', + 'order' => 3, + 'href' => $this->urlGenerator->linkToRoute('settings.AdminSettings.index', ['section' => 'overview']), + 'name' => $l->t('Admin settings'), + 'icon' => $this->urlGenerator->imagePath('settings', 'admin.svg'), + ]); + } else { + // Personal settings + $this->add([ + 'type' => 'settings', + 'id' => 'settings', + 'order' => 2, + 'href' => $this->urlGenerator->linkToRoute('settings.PersonalSettings.index'), + 'name' => $l->t('Settings'), + 'icon' => $this->urlGenerator->imagePath('settings', 'admin.svg'), + ]); + } $logoutUrl = \OC_User::getLogoutUrl($this->urlGenerator); if ($logoutUrl !== '') { |