diff --git a/lib/Group/GroupBackend.php b/lib/Group/GroupBackend.php index da8c2f86..b357bdc5 100644 --- a/lib/Group/GroupBackend.php +++ b/lib/Group/GroupBackend.php @@ -76,6 +76,11 @@ public function getUserGroups($uid) { $avoid = $this->avoidRecurse_groups; $this->avoidRecurse_groups = true; $user = $this->userManager->get($uid); + + if (!$user->isEnabled()) { + return []; + } + if ($user) { $groupIds = $this->groupManager->getUserGroupIds($user); } else { @@ -144,7 +149,9 @@ public function usersInGroup($gid, $search = '', $limit = -1, $offset = 0) { foreach ($groups as $group) { if (!is_null($group)) { foreach ($group->getUsers() as $user) { - $users[] = $user->getUID(); + if ($user->isEnabled()) { + $users[] = $user->getUID(); + } }; } } diff --git a/lib/Service/Group/GroupFormatter.php b/lib/Service/Group/GroupFormatter.php index fda2d5ec..cc4be81f 100644 --- a/lib/Service/Group/GroupFormatter.php +++ b/lib/Service/Group/GroupFormatter.php @@ -48,11 +48,14 @@ public static function formatGroups(array $groups): array { $backendnames ); + $users = $group->getUsers(); + $users = array_filter($users, fn ($user) => $user->isEnabled()); + $groupsFormat[$group->getGID()] = [ 'gid' => $group->getGID(), 'displayName' => $group->getDisplayName(), 'types' => $group->getBackendNames(), - 'usersCount' => $group->count(), + 'usersCount' => count($users), 'slug' => Slugger::slugger($group->getGID()) ]; } diff --git a/tests/Unit/Space/SpaceManagerTest.php b/tests/Unit/Space/SpaceManagerTest.php index d04cff72..03028c07 100644 --- a/tests/Unit/Space/SpaceManagerTest.php +++ b/tests/Unit/Space/SpaceManagerTest.php @@ -195,23 +195,12 @@ public function testArrayAfterCreatedTheEspace01Workspace(): void { ->willReturn('WM-Espace01') ; - $workspaceManagerGroupMock - ->expects($this->once()) - ->method('count') - ->willReturn(0) - ; - $userGroupMock = $this->createMock(IGroup::class); $userGroupMock ->expects($this->any()) ->method('getGID') ->willReturn('SPACE-U-1') ; - $userGroupMock - ->expects($this->once()) - ->method('count') - ->willReturn(0) - ; $userGroupMock ->expects($this->any())