diff --git a/app/models/user.rb b/app/models/user.rb index 80adcdcf0..b90ddffde 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -757,10 +757,6 @@ class User < ApplicationRecord where("lower(name) = ?", name) end - def name_matches(name) - where("lower(name) like ? escape E'\\\\'", name.to_escaped_for_sql_like) - end - def admins where("level = ?", Levels::ADMIN) end @@ -794,12 +790,15 @@ class User < ApplicationRecord def search(params) q = super - if params[:name].present? - q = q.name_matches(params[:name].mb_chars.downcase.strip.tr(" ", "_")) - end + params = params.dup + params[:name_matches] = params.delete(:name) if params[:name].present? if params[:name_matches].present? - q = q.name_matches(params[:name_matches].mb_chars.downcase.strip.tr(" ", "_")) + q = q.where_ilike(:name, normalize_name(params[:name_matches])) + end + + if params[:inviter].present? + q = q.where(inviter_id: search(params[:inviter])) end if params[:min_level].present? diff --git a/app/presenters/user_presenter.rb b/app/presenters/user_presenter.rb index 10c5df7b6..5608faebd 100644 --- a/app/presenters/user_presenter.rb +++ b/app/presenters/user_presenter.rb @@ -141,14 +141,6 @@ class UserPresenter end end - def inviter(template) - if user.inviter_id - template.link_to_user(user.inviter) - else - "None" - end - end - def appeal_count(template) template.link_to(user.appeal_count, template.post_appeals_path(:search => {:creator_name => user.name})) end diff --git a/app/views/users/_statistics.html.erb b/app/views/users/_statistics.html.erb index 0429d1840..cf8496fea 100644 --- a/app/views/users/_statistics.html.erb +++ b/app/views/users/_statistics.html.erb @@ -9,7 +9,11 @@ Inviter - <%= presenter.inviter(self) %> + <% if user.inviter %> + <%= link_to_user user.inviter %> <%= link_to "ยป", users_path(search: { inviter: { name: user.inviter.name }}) %> + <% else %> + None + <% end %> diff --git a/app/views/users/search.html.erb b/app/views/users/search.html.erb index 3aa051a16..a0afa7a91 100644 --- a/app/views/users/search.html.erb +++ b/app/views/users/search.html.erb @@ -2,6 +2,9 @@