فهرست منبع

Make user search look in username, name and email

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.
Odin Ugedal 10 سال پیش
والد
کامیت
3253e3c5aa
1فایلهای تغییر یافته به همراه5 افزوده شده و 1 حذف شده
  1. 5 1
      models/user.go

+ 5 - 1
models/user.go

@@ -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