Merge pull request #9884 from nextcloud/groups-search-use-proper-keys
Add search to users details groups
This commit is contained in:
commit
6b6c43bf79
|
@ -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) {
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -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());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue