diff options
author | Côme Chilliet <come.chilliet@nextcloud.com> | 2024-10-17 15:44:42 +0200 |
---|---|---|
committer | Ferdinand Thiessen <opensource@fthiessen.de> | 2024-10-30 19:32:25 +0100 |
commit | 90fe35dfdf719d0e80e907474b3326a7733a1976 (patch) | |
tree | 4b4b7e3b0fcd86885c33e6efe687ad6d0b0cd3a2 /apps | |
parent | 40c2764434e6ef99ffe7a6e1ac392e9d2bcb3d43 (diff) | |
download | nextcloud-server-90fe35dfdf719d0e80e907474b3326a7733a1976.tar.gz nextcloud-server-90fe35dfdf719d0e80e907474b3326a7733a1976.zip |
fix(provisioning_api): Fix getting disabled users for group adminsbackport/48766/stable28
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Diffstat (limited to 'apps')
-rw-r--r-- | apps/provisioning_api/lib/Controller/UsersController.php | 8 | ||||
-rw-r--r-- | apps/provisioning_api/tests/Controller/UsersControllerTest.php | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/apps/provisioning_api/lib/Controller/UsersController.php b/apps/provisioning_api/lib/Controller/UsersController.php index e1c60f3eb67..ee8dcf9fb29 100644 --- a/apps/provisioning_api/lib/Controller/UsersController.php +++ b/apps/provisioning_api/lib/Controller/UsersController.php @@ -277,21 +277,21 @@ class UsersController extends AUserData { /* We have to handle offset ourselve for correctness */ $tempLimit = ($limit === null ? null : $limit + $offset); foreach ($subAdminOfGroups as $group) { - $users = array_merge( + $users = array_unique(array_merge( $users, array_map( fn (IUser $user): string => $user->getUID(), array_filter( - $group->searchUsers($search, ($tempLimit === null ? null : $tempLimit - count($users))), + $group->searchUsers($search), fn (IUser $user): bool => !$user->isEnabled() ) ) - ); + )); if (($tempLimit !== null) && (count($users) >= $tempLimit)) { break; } } - $users = array_slice($users, $offset); + $users = array_slice($users, $offset, $limit); } $usersDetails = []; diff --git a/apps/provisioning_api/tests/Controller/UsersControllerTest.php b/apps/provisioning_api/tests/Controller/UsersControllerTest.php index 56de45ba2d6..cfb7f2d9543 100644 --- a/apps/provisioning_api/tests/Controller/UsersControllerTest.php +++ b/apps/provisioning_api/tests/Controller/UsersControllerTest.php @@ -244,7 +244,7 @@ class UsersControllerTest extends TestCase { $this->assertEquals($expected, $this->api->getUsers('MyCustomSearch')->getData()); } - private function createUserMock(string $uid, bool $enabled): MockObject&IUser { + private function createUserMock(string $uid, bool $enabled): MockObject|IUser { $mockUser = $this->getMockBuilder(IUser::class) ->disableOriginalConstructor() ->getMock(); |