]> source.dussan.org Git - gitea.git/commitdiff
Make user search look in username, name and email
authorOdin Ugedal <odin@ugedal.com>
Tue, 15 Mar 2016 13:16:58 +0000 (14:16 +0100)
committerOdin Ugedal <odin@ugedal.com>
Tue, 15 Mar 2016 13:16:58 +0000 (14:16 +0100)
Make user search function look in username (lower_name), full name
(full_name) and primary email (email). This will benefit searching after
user in "explore", admin panel and when adding new collaborators.

models/user.go

index 82f927891c4fd057d01d2aa6343f35fb06e5054f..93db70a4147be94af8d4b66dcec1fc3818b5ba6e 100644 (file)
@@ -1137,9 +1137,13 @@ func SearchUserByName(opts *SearchUserOptions) (users []*User, _ int64, _ error)
                opts.Page = 1
        }
 
+       searchQuery := "%" + opts.Keyword + "%"
        users = make([]*User, 0, opts.PageSize)
        // Append conditions
-       sess := x.Where("lower_name like ?", "%"+opts.Keyword+"%").And("type = ?", opts.Type)
+       sess := x.Where("lower_name like ?", searchQuery).
+               Or("full_name like ?", searchQuery).
+               Or("email like ?", searchQuery).
+               And("type = ?", opts.Type)
 
        var countSess xorm.Session
        countSess = *sess