diff options
-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 }, |