Allow for searching user by email for users with ManageUser

This commit is contained in:
Morgan Bazalgette
2016-12-12 21:35:18 +01:00
parent e4af28b8ff
commit 62612cfdb8
2 changed files with 12 additions and 4 deletions

View File

@@ -395,8 +395,15 @@ func UserLookupGET(md common.MethodData) common.CodeMessager {
}
name = "%" + name + "%"
rows, err := md.DB.Query("SELECT users.id, users.username FROM users WHERE username_safe LIKE ? AND "+
md.User.OnlyUserPublic(true)+" LIMIT 25", name)
var email string
if md.User.TokenPrivileges&common.PrivilegeManageUser != 0 &&
strings.Contains(md.Query("name"), "@") {
email = md.Query("name")
}
rows, err := md.DB.Query("SELECT users.id, users.username FROM users WHERE "+
"(username_safe LIKE ? OR email = ?) AND "+
md.User.OnlyUserPublic(true)+" LIMIT 25", name, email)
if err != nil {
md.Err(err)
return Err500