Search also the email and displayname in user mangement for groups
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
This commit is contained in:
parent
02680cf93d
commit
74e98940ef
|
@ -345,15 +345,27 @@ class Database extends ABackend implements
|
|||
$this->fixDI();
|
||||
|
||||
$query = $this->dbConn->getQueryBuilder();
|
||||
$query->select('uid')
|
||||
->from('group_user')
|
||||
$query->select('g.uid')
|
||||
->from('group_user', 'g')
|
||||
->where($query->expr()->eq('gid', $query->createNamedParameter($gid)))
|
||||
->orderBy('uid', 'ASC');
|
||||
->orderBy('g.uid', 'ASC');
|
||||
|
||||
if ($search !== '') {
|
||||
$query->andWhere($query->expr()->like('uid', $query->createNamedParameter(
|
||||
'%' . $this->dbConn->escapeLikeParameter($search) . '%'
|
||||
)));
|
||||
$query->leftJoin('g', 'users', 'u', $query->expr()->eq('g.uid', 'u.uid'))
|
||||
->leftJoin('u', 'preferences', 'p', $query->expr()->andX(
|
||||
$query->expr()->eq('p.userid', 'u.uid'),
|
||||
$query->expr()->eq('p.appid', $query->expr()->literal('settings')),
|
||||
$query->expr()->eq('p.configkey', $query->expr()->literal('email')))
|
||||
)
|
||||
// sqlite doesn't like re-using a single named parameter here
|
||||
->andWhere(
|
||||
$query->expr()->orX(
|
||||
$query->expr()->ilike('g.uid', $query->createNamedParameter('%' . $this->dbConn->escapeLikeParameter($search) . '%')),
|
||||
$query->expr()->ilike('u.displayname', $query->createNamedParameter('%' . $this->dbConn->escapeLikeParameter($search) . '%')),
|
||||
$query->expr()->ilike('p.configvalue', $query->createNamedParameter('%' . $this->dbConn->escapeLikeParameter($search) . '%'))
|
||||
)
|
||||
)
|
||||
->orderBy('u.uid_lower', 'ASC');
|
||||
}
|
||||
|
||||
if ($limit !== -1) {
|
||||
|
|
Loading…
Reference in New Issue