From 2908f8176900a4eeb77b723436865a9fa7fb9bad Mon Sep 17 00:00:00 2001 From: Kent Delante Date: Thu, 28 Aug 2025 15:33:08 +0800 Subject: [PATCH] feat: allow group's members to view fellow members Signed-off-by: Kent Delante --- apps/provisioning_api/lib/Controller/GroupsController.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/provisioning_api/lib/Controller/GroupsController.php b/apps/provisioning_api/lib/Controller/GroupsController.php index 37af51419df..a1a94b56b43 100644 --- a/apps/provisioning_api/lib/Controller/GroupsController.php +++ b/apps/provisioning_api/lib/Controller/GroupsController.php @@ -133,6 +133,8 @@ class GroupsController extends AUserDataOCSController { } /** + * @NoSubAdminRequired + * * Get a list of users in the specified group * * @param string $groupId ID of the group @@ -154,6 +156,7 @@ class GroupsController extends AUserDataOCSController { $group = $this->groupManager->get($groupId); if ($group !== null) { $isSubadminOfGroup = $this->groupManager->getSubAdmin()->isSubAdminOfGroup($user, $group); + $isMember = $this->groupManager->isInGroup($user->getUID(), $group->getGID()); } else { throw new OCSNotFoundException('The requested group could not be found'); } @@ -161,7 +164,7 @@ class GroupsController extends AUserDataOCSController { // Check subadmin has access to this group $isAdmin = $this->groupManager->isAdmin($user->getUID()); $isDelegatedAdmin = $this->groupManager->isDelegatedAdmin($user->getUID()); - if ($isAdmin || $isDelegatedAdmin || $isSubadminOfGroup) { + if ($isAdmin || $isDelegatedAdmin || $isSubadminOfGroup || $isMember) { $users = $this->groupManager->get($groupId)->getUsers(); $users = array_map(function ($user) { /** @var IUser $user */