aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFerdinand Thiessen <opensource@fthiessen.de>2025-04-24 13:10:11 +0200
committerFerdinand Thiessen <opensource@fthiessen.de>2025-04-27 11:35:40 +0200
commit8cc0c266d5ce2dd1966c8285d7b347ec1b3a0e98 (patch)
tree12c86eb4d03cef1afece4d38d26108458eab65b6
parent8df3310cc4176847466f7f7b4ffae8bed5260bcb (diff)
downloadnextcloud-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.php7
-rw-r--r--apps/settings/src/store/users.js9
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
},