|
|
|
@@ -1768,7 +1768,6 @@ func (opts *SearchUserOptions) toConds() builder.Cond { |
|
|
|
if !opts.IsActive.IsNone() { |
|
|
|
cond = cond.And(builder.Eq{"is_active": opts.IsActive.IsTrue()}) |
|
|
|
} |
|
|
|
|
|
|
|
return cond |
|
|
|
} |
|
|
|
|
|
|
|
@@ -1780,12 +1779,15 @@ func SearchUsers(opts *SearchUserOptions) (users []*User, _ int64, _ error) { |
|
|
|
if err != nil { |
|
|
|
return nil, 0, fmt.Errorf("Count: %v", err) |
|
|
|
} |
|
|
|
|
|
|
|
orderby := opts.OrderBy.String() |
|
|
|
if len(opts.OrderBy) == 0 { |
|
|
|
opts.OrderBy = SearchOrderByAlphabetically |
|
|
|
orderby = SearchOrderByAlphabetically.String() |
|
|
|
lowerKeyword := strings.ToLower(opts.Keyword) |
|
|
|
if len(opts.Keyword) > 0 { |
|
|
|
orderby = " CASE when lower_name='" + lowerKeyword + "' then 0 when charindex('" + lowerKeyword + "',lower_name)>0 then 1 else 2 END ASC" |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
sess := x.Where(cond).OrderBy(opts.OrderBy.String()) |
|
|
|
sess := x.Where(cond).OrderBy(orderby) |
|
|
|
if opts.Page != 0 { |
|
|
|
sess = opts.setSessionPagination(sess) |
|
|
|
} |
|
|
|
|