mirror of
https://github.com/nextcloud/server.git
synced 2024-07-29 08:15:55 +02:00
Merge pull request #33756 from nextcloud/enh/noid/admin-settings-directly
add a way to open the admin settings overview directly
This commit is contained in:
commit
b0f6ca0e0d
@ -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));
|
||||
|
@ -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', 'personal.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 !== '') {
|
||||
|
@ -18,6 +18,6 @@ Feature: access-levels
|
||||
|
||||
Scenario: admin users can see admin-level items on the Settings page
|
||||
Given I am logged in as the admin
|
||||
When I visit the settings page
|
||||
When I visit the admin settings page
|
||||
Then I see that the "Personal" settings panel is shown
|
||||
And I see that the "Administration" settings panel is shown
|
||||
|
@ -178,7 +178,7 @@ Feature: app-files-sharing-link
|
||||
And I see that the file list contains a file named "farewell.txt"
|
||||
And I share "farewell.txt" with "user0"
|
||||
And I see that the file is shared with "user0"
|
||||
And I visit the settings page
|
||||
And I visit the admin settings page
|
||||
And I open the "Sharing" section of the "Administration" group
|
||||
And I disable resharing
|
||||
And I see that resharing is disabled
|
||||
@ -209,7 +209,7 @@ Feature: app-files-sharing-link
|
||||
And I share the link for "farewell.txt"
|
||||
And I write down the shared link
|
||||
And I act as John
|
||||
And I visit the settings page
|
||||
And I visit the admin settings page
|
||||
And I open the "Sharing" section of the "Administration" group
|
||||
And I disable resharing
|
||||
And I see that resharing is disabled
|
||||
@ -239,7 +239,7 @@ Feature: app-files-sharing-link
|
||||
And I share the link for "farewell.txt"
|
||||
And I write down the shared link
|
||||
And I act as John
|
||||
And I visit the settings page
|
||||
And I visit the admin settings page
|
||||
And I open the "Sharing" section of the "Administration" group
|
||||
And I disable resharing
|
||||
And I see that resharing is disabled
|
||||
|
@ -252,7 +252,7 @@ Feature: app-files-sharing
|
||||
And I see that the file list contains a file named "Shared folder"
|
||||
And I share "Shared folder" with "user0"
|
||||
And I see that the file is shared with "user0"
|
||||
When I visit the settings page
|
||||
When I visit the admin settings page
|
||||
And I open the "Sharing" section of the "Administration" group
|
||||
And I disable resharing
|
||||
And I see that resharing is disabled
|
||||
@ -273,7 +273,7 @@ Feature: app-files-sharing
|
||||
And I see that the file list contains a file named "Shared folder"
|
||||
And I share "Shared folder" with "user0"
|
||||
And I see that the file is shared with "user0"
|
||||
And I visit the settings page
|
||||
And I visit the admin settings page
|
||||
And I open the "Sharing" section of the "Administration" group
|
||||
And I disable resharing
|
||||
And I see that resharing is disabled
|
||||
@ -303,7 +303,7 @@ Feature: app-files-sharing
|
||||
And I open the Files app
|
||||
And I share "Shared folder" with "user1"
|
||||
And I act as John
|
||||
And I visit the settings page
|
||||
And I visit the admin settings page
|
||||
And I open the "Sharing" section of the "Administration" group
|
||||
And I disable resharing
|
||||
And I see that resharing is disabled
|
||||
@ -336,7 +336,7 @@ Feature: app-files-sharing
|
||||
And I open the Files app
|
||||
And I share "Shared folder" with "user1"
|
||||
And I act as John
|
||||
And I visit the settings page
|
||||
And I visit the admin settings page
|
||||
And I open the "Sharing" section of the "Administration" group
|
||||
And I disable resharing
|
||||
And I see that resharing is disabled
|
||||
|
@ -21,7 +21,7 @@ Feature: app-files-tags
|
||||
|
||||
Scenario: create tags using the Administration settings
|
||||
Given I am logged in as the admin
|
||||
And I visit the settings page
|
||||
And I visit the admin settings page
|
||||
And I open the "Basic settings" section of the "Administration" group
|
||||
# The "create" button does nothing before JavaScript was initialized, and
|
||||
# the only way to detect that is waiting for the button to select tags to be
|
||||
@ -32,7 +32,7 @@ Feature: app-files-tags
|
||||
|
||||
# Scenario: add tags using the dropdown in the details view
|
||||
# Given I am logged in as the admin
|
||||
# And I visit the settings page
|
||||
# And I visit the admin settings page
|
||||
# And I open the "Basic settings" section of the "Administration" group
|
||||
# # The "create" button does nothing before JavaScript was initialized, and
|
||||
# # the only way to detect that is waiting for the button to select tags to be
|
||||
@ -60,7 +60,7 @@ Feature: app-files-tags
|
||||
#
|
||||
# Scenario: remove tags using the dropdown in the details view
|
||||
# Given I am logged in as the admin
|
||||
# And I visit the settings page
|
||||
# And I visit the admin settings page
|
||||
# And I open the "Basic settings" section of the "Administration" group
|
||||
# # The "create" button does nothing before JavaScript was initialized, and
|
||||
# # the only way to detect that is waiting for the button to select tags to be
|
||||
|
@ -3,7 +3,7 @@ Feature: app-theming
|
||||
|
||||
Scenario: changing the color updates the header color
|
||||
Given I am logged in as the admin
|
||||
And I visit the settings page
|
||||
And I visit the admin settings page
|
||||
And I open the "Theming" section
|
||||
And I see that the color selector in the Theming app has loaded
|
||||
# The "eventually" part is not really needed here, as the colour is not
|
||||
@ -16,7 +16,7 @@ Feature: app-theming
|
||||
|
||||
Scenario: resetting the color updates the header color
|
||||
Given I am logged in as the admin
|
||||
And I visit the settings page
|
||||
And I visit the admin settings page
|
||||
And I open the "Theming" section
|
||||
And I see that the color selector in the Theming app has loaded
|
||||
And I set the "Color" parameter in the Theming app to "#C9C9C9"
|
||||
|
@ -143,6 +143,14 @@ class SettingsMenuContext implements Context, ActorAwareInterface {
|
||||
$this->actor->find(self::menuItemFor('Settings'), 2)->click();
|
||||
}
|
||||
|
||||
/**
|
||||
* @When I visit the admin settings page
|
||||
*/
|
||||
public function iVisitTheAdminSettingsPage() {
|
||||
$this->iOpenTheSettingsMenu();
|
||||
$this->actor->find(self::menuItemFor('Admin settings'), 2)->click();
|
||||
}
|
||||
|
||||
/**
|
||||
* @When I log out
|
||||
*/
|
||||
|
@ -5,9 +5,10 @@ Feature: header
|
||||
Given I am logged in as the admin
|
||||
When I open the Settings menu
|
||||
Then I see that the Settings menu is shown
|
||||
And I see that the Settings menu has only 7 items
|
||||
And I see that the Settings menu has only 8 items
|
||||
And I see that the "Set status" item in the Settings menu is shown
|
||||
And I see that the "Settings" item in the Settings menu is shown
|
||||
And I see that the "Personal settings" item in the Settings menu is shown
|
||||
And I see that the "Admin settings" item in the Settings menu is shown
|
||||
And I see that the "Apps" item in the Settings menu is shown
|
||||
And I see that the "Users" item in the Settings menu is shown
|
||||
And I see that the "Help" item in the Settings menu is shown
|
||||
@ -32,7 +33,7 @@ Feature: header
|
||||
|
||||
Scenario: users from other groups are not seen in the contacts menu when autocompletion is restricted within the same group
|
||||
Given I am logged in as the admin
|
||||
And I visit the settings page
|
||||
And I visit the admin settings page
|
||||
And I open the "Sharing" section of the "Administration" group
|
||||
And I enable restricting username autocompletion to groups
|
||||
And I see that username autocompletion is restricted to groups
|
||||
|
@ -282,6 +282,30 @@ class NavigationManagerTest extends TestCase {
|
||||
'unread' => 0
|
||||
]
|
||||
];
|
||||
$adminSettings = [
|
||||
'settings' => [
|
||||
'id' => 'settings',
|
||||
'order' => 2,
|
||||
'href' => '/apps/test/',
|
||||
'icon' => '/apps/settings/img/personal.svg',
|
||||
'name' => 'Personal settings',
|
||||
'active' => false,
|
||||
'type' => 'settings',
|
||||
'classes' => '',
|
||||
'unread' => 0
|
||||
],
|
||||
'admin_settings' => [
|
||||
'id' => 'admin_settings',
|
||||
'order' => 3,
|
||||
'href' => '/apps/test/',
|
||||
'icon' => '/apps/settings/img/admin.svg',
|
||||
'name' => 'Admin settings',
|
||||
'active' => false,
|
||||
'type' => 'settings',
|
||||
'classes' => '',
|
||||
'unread' => 0
|
||||
]
|
||||
];
|
||||
|
||||
return [
|
||||
'minimalistic' => [
|
||||
@ -330,7 +354,7 @@ class NavigationManagerTest extends TestCase {
|
||||
],
|
||||
'admin' => [
|
||||
array_merge(
|
||||
['settings' => $defaults['settings']],
|
||||
$adminSettings,
|
||||
$apps,
|
||||
['test' => [
|
||||
'id' => 'test',
|
||||
@ -354,7 +378,7 @@ class NavigationManagerTest extends TestCase {
|
||||
],
|
||||
'no name' => [
|
||||
array_merge(
|
||||
['settings' => $defaults['settings']],
|
||||
$adminSettings,
|
||||
$apps,
|
||||
['logout' => $defaults['logout']]
|
||||
),
|
||||
|
Loading…
Reference in New Issue
Block a user