diff options
Diffstat (limited to 'app/models/user.rb')
-rw-r--r-- | app/models/user.rb | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/app/models/user.rb b/app/models/user.rb index 3098cfc..ff09c70 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -177,17 +177,18 @@ class User < ActiveRecord::Base def self.search (search, role, badge) if role - if role.downcase == "staff" + if role.try(:downcase) == "staff" users = User.joins(:role).where("roles.value >= ?", Role.get(:mod).to_i) - elsif r = Role.get(role) - users = User.joins(:role).where(role: r) else + users = User.joins(:role).where(role: role) end - elsif badge && b = Badge.get(badge) - users = User.joins(:badge).where(badge: b) + end + if badge + users = User.joins(:badge).where(badge: badge) else - users = User.joins(:role).where.not(id: User.first.id) #Remove first user + users = User.joins(:role).all.where.not(id: User.first.id) end - return users.where("users.name like ? OR ign like ?", "%#{User.send(:sanitize_sql_like, search.to_s)}%", "%#{User.send(:sanitize_sql_like, search.to_s)}%") + search_san = User.send(:sanitize_sql_like, search.to_s) + users.where("users.name like ? OR ign like ?", "%#{search_san}%", "%#{search_san}%") end end |