diff options
author | Ferdinand Thiessen <opensource@fthiessen.de> | 2025-04-24 13:10:11 +0200 |
---|---|---|
committer | Ferdinand Thiessen <opensource@fthiessen.de> | 2025-04-27 11:35:40 +0200 |
commit | 8cc0c266d5ce2dd1966c8285d7b347ec1b3a0e98 (patch) | |
tree | 12c86eb4d03cef1afece4d38d26108458eab65b6 | |
parent | 8df3310cc4176847466f7f7b4ffae8bed5260bcb (diff) | |
download | nextcloud-server-8cc0c266d5ce2dd1966c8285d7b347ec1b3a0e98.tar.gz nextcloud-server-8cc0c266d5ce2dd1966c8285d7b347ec1b3a0e98.zip |
feat(settings): provide user groups for accounts list
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
-rw-r--r-- | apps/settings/lib/Controller/UsersController.php | 7 | ||||
-rw-r--r-- | apps/settings/src/store/users.js | 9 |
2 files changed, 15 insertions, 1 deletions
diff --git a/apps/settings/lib/Controller/UsersController.php b/apps/settings/lib/Controller/UsersController.php index e97e497b9c1..f9277affef8 100644 --- a/apps/settings/lib/Controller/UsersController.php +++ b/apps/settings/lib/Controller/UsersController.php @@ -41,6 +41,7 @@ use OCP\BackgroundJob\IJobList; use OCP\Encryption\IManager; use OCP\EventDispatcher\IEventDispatcher; use OCP\IConfig; +use OCP\IGroup; use OCP\IGroupManager; use OCP\IL10N; use OCP\INavigationManager; @@ -204,6 +205,12 @@ class UsersController extends Controller { $serverData = []; // groups $serverData['systemGroups'] = [$adminGroupData, $recentUsersGroup, $disabledUsersGroup]; + $serverData['userGroups'] = array_values( + array_map( + fn (IGroup $group) => ['id' => $group->getGID(), 'name' => $group->getDisplayName()], + $this->groupManager->getUserGroups($user), + ), + ); // Various data $serverData['isAdmin'] = $isAdmin; $serverData['isDelegatedAdmin'] = $isDelegatedAdmin; diff --git a/apps/settings/src/store/users.js b/apps/settings/src/store/users.js index a6298a38e2d..6b7eb749089 100644 --- a/apps/settings/src/store/users.js +++ b/apps/settings/src/store/users.js @@ -36,7 +36,10 @@ const defaults = { const state = { users: [], - groups: [...(usersSettings.systemGroups ?? [])], + groups: [ + ...(usersSettings.userGroups ?? []), + ...(usersSettings.systemGroups ?? []), + ], orderBy: usersSettings.sortGroups ?? GroupSorting.UserCount, minPasswordLength: 0, usersOffset: 0, @@ -264,6 +267,10 @@ const mutations = { } const getters = { + getUserGroups() { + return usersSettings.userGroups ?? [] + }, + getUsers(state) { return state.users }, |