Skip to content

Commit

Permalink
Merge branch 'master' into translations_en-yml--master_pt_BR
Browse files Browse the repository at this point in the history
  • Loading branch information
farhatahmad committed Jun 12, 2020
2 parents 8495ef8 + b84f10a commit 90c8480
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 21 deletions.
3 changes: 1 addition & 2 deletions app/controllers/admins_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,8 @@ def index
@search = params[:search] || ""
@order_column = params[:column] && params[:direction] != "none" ? params[:column] : "created_at"
@order_direction = params[:direction] && params[:direction] != "none" ? params[:direction] : "DESC"

@role = params[:role] ? Role.find_by(name: params[:role], provider: @user_domain) : nil
@tab = params[:tab] || "active"
@role = params[:role] ? Role.find_by(name: params[:role], provider: @user_domain) : nil

@user_list = merge_user_list

Expand Down
10 changes: 6 additions & 4 deletions app/controllers/concerns/populator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,25 +21,27 @@ module Populator

# Returns a list of users that are in the same context of the current user
def manage_users_list
current_role = @role

initial_list = case @tab
when "active"
User.without_role([:pending, :denied])
when "deleted"
User.deleted
when "pending"
User.with_role(:pending)
when "denied"
User.with_role(:denied)
else
User.all
end

current_role = Role.find_by(name: @tab, provider: @user_domain) if @tab == "pending" || @tab == "denied"
initial_list = initial_list.with_role(@role.name) if @role.present?

initial_list = initial_list.without_role(:super_admin) unless current_user.has_role? :super_admin

initial_list = initial_list.where(provider: @user_domain) if Rails.configuration.loadbalanced_configuration

initial_list.where.not(id: current_user.id)
.admins_search(@search, current_role)
.admins_search(@search)
.admins_order(@order_column, @order_direction)
end

Expand Down
22 changes: 7 additions & 15 deletions app/models/user.rb
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,9 @@ def from_omniauth(auth)
end
end

def self.admins_search(string, role)
def self.admins_search(string)
return all if string.blank?

active_database = Rails.configuration.database_configuration[Rails.env]["adapter"]
# Postgres requires created_at to be cast to a string
created_at_query = if active_database == "postgresql"
Expand All @@ -79,22 +81,12 @@ def self.admins_search(string, role)
"created_at"
end

search_query = ""
role_search_param = ""
if role.nil?
search_query = "users.name LIKE :search OR email LIKE :search OR username LIKE :search" \
" OR users.#{created_at_query} LIKE :search OR users.provider LIKE :search" \
" OR roles.name LIKE :roles_search"
role_search_param = "%#{sanitize_sql_like(string)}%"
else
search_query = "(users.name LIKE :search OR email LIKE :search OR username LIKE :search" \
" OR users.#{created_at_query} LIKE :search OR users.provider LIKE :search)" \
" AND roles.name = :roles_search"
role_search_param = role.name
end
search_query = "users.name LIKE :search OR email LIKE :search OR username LIKE :search" \
" OR users.#{created_at_query} LIKE :search OR users.provider LIKE :search" \
" OR roles.name LIKE :search"

search_param = "%#{sanitize_sql_like(string)}%"
where(search_query, search: search_param, roles_search: role_search_param)
where(search_query, search: search_param)
end

def self.admins_order(column, direction)
Expand Down

0 comments on commit 90c8480

Please sign in to comment.