Merge pull request #9884 from nextcloud/groups-search-use-proper-keys

Add search to users details groups
This commit is contained in:
Julius Härtl 2018-06-18 16:43:06 +02:00 committed by GitHub
commit 6b6c43bf79
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 10 deletions

View File

@ -177,12 +177,13 @@ class GroupsController extends AUserData {
* @NoAdminRequired * @NoAdminRequired
* *
* @param string $groupId * @param string $groupId
* @param string $search
* @param int $limit * @param int $limit
* @param int $offset * @param int $offset
* @return DataResponse * @return DataResponse
* @throws OCSException * @throws OCSException
*/ */
public function getGroupUsersDetails(string $groupId, int $limit = null, int $offset = 0): DataResponse { public function getGroupUsersDetails(string $groupId, string $search = '', int $limit = null, int $offset = 0): DataResponse {
$user = $this->userSession->getUser(); $user = $this->userSession->getUser();
$isSubadminOfGroup = false; $isSubadminOfGroup = false;
@ -197,9 +198,9 @@ class GroupsController extends AUserData {
// Check subadmin has access to this group // Check subadmin has access to this group
if($this->groupManager->isAdmin($user->getUID()) if($this->groupManager->isAdmin($user->getUID())
|| $isSubadminOfGroup) { || $isSubadminOfGroup) {
$users = $this->groupManager->get($groupId)->getUsers(); $users = $this->groupManager->get($groupId)->searchUsers($search, $limit, $offset);
// Extract required number // Extract required number
$users = array_slice($users, $offset, $limit);
$users = array_keys($users); $users = array_keys($users);
$usersDetails = []; $usersDetails = [];
foreach ($users as $userId) { foreach ($users as $userId) {

View File

@ -211,10 +211,10 @@ class Group implements IGroup {
$userIds = $backend->usersInGroup($this->gid, $search, $limit, $offset); $userIds = $backend->usersInGroup($this->gid, $search, $limit, $offset);
$users += $this->getVerifiedUsers($userIds); $users += $this->getVerifiedUsers($userIds);
if (!is_null($limit) and $limit <= 0) { if (!is_null($limit) and $limit <= 0) {
return array_values($users); return $users;
} }
} }
return array_values($users); return $users;
} }
/** /**

View File

@ -303,7 +303,7 @@ class GroupTest extends \Test\TestCase {
$users = $group->searchUsers('2'); $users = $group->searchUsers('2');
$this->assertEquals(1, count($users)); $this->assertEquals(1, count($users));
$user2 = $users[0]; $user2 = $users['user2'];
$this->assertEquals('user2', $user2->getUID()); $this->assertEquals('user2', $user2->getUID());
} }
@ -329,7 +329,7 @@ class GroupTest extends \Test\TestCase {
$users = $group->searchUsers('2'); $users = $group->searchUsers('2');
$this->assertEquals(1, count($users)); $this->assertEquals(1, count($users));
$user2 = $users[0]; $user2 = $users['user2'];
$this->assertEquals('user2', $user2->getUID()); $this->assertEquals('user2', $user2->getUID());
} }
@ -348,7 +348,7 @@ class GroupTest extends \Test\TestCase {
$users = $group->searchUsers('user', 1, 1); $users = $group->searchUsers('user', 1, 1);
$this->assertEquals(1, count($users)); $this->assertEquals(1, count($users));
$user2 = $users[0]; $user2 = $users['user2'];
$this->assertEquals('user2', $user2->getUID()); $this->assertEquals('user2', $user2->getUID());
} }
@ -374,8 +374,8 @@ class GroupTest extends \Test\TestCase {
$users = $group->searchUsers('user', 2, 1); $users = $group->searchUsers('user', 2, 1);
$this->assertEquals(2, count($users)); $this->assertEquals(2, count($users));
$user2 = $users[0]; $user2 = $users['user2'];
$user1 = $users[1]; $user1 = $users['user1'];
$this->assertEquals('user2', $user2->getUID()); $this->assertEquals('user2', $user2->getUID());
$this->assertEquals('user1', $user1->getUID()); $this->assertEquals('user1', $user1->getUID());
} }