mirror of
https://github.com/internetee/registry.git
synced 2025-07-21 18:26:06 +02:00
changed filter rules
This commit is contained in:
parent
a750310c30
commit
10aabf750c
1 changed files with 18 additions and 2 deletions
|
@ -6,6 +6,8 @@ module Admin
|
|||
helper_method :registry_vat_rate
|
||||
helper_method :iban_max_length
|
||||
|
||||
SQL_SUM_STR = 'sum(case active when TRUE then 1 else 0 end)'.freeze
|
||||
|
||||
def index
|
||||
registrars = filter_by_status
|
||||
@q = registrars.ransack(params[:q])
|
||||
|
@ -58,14 +60,28 @@ module Admin
|
|||
def filter_by_status
|
||||
case params[:status]
|
||||
when 'Active'
|
||||
Registrar.includes(:accounts, :api_users).where.not(api_users: { id: nil }).ordered
|
||||
active_registrars
|
||||
when 'Inactive'
|
||||
Registrar.includes(:accounts, :api_users).where(api_users: { id: nil }).ordered
|
||||
inactive_registrars
|
||||
else
|
||||
Registrar.includes(:accounts, :api_users).ordered
|
||||
end
|
||||
end
|
||||
|
||||
def active_registrars
|
||||
Registrar.includes(:accounts, :api_users).where(
|
||||
id: ApiUser.having("#{SQL_SUM_STR} > 0").group(:registrar_id).pluck(:registrar_id)
|
||||
).ordered
|
||||
end
|
||||
|
||||
def inactive_registrars
|
||||
Registrar.includes(:accounts, :api_users).where(api_users: { id: nil }).or(
|
||||
Registrar.includes(:accounts, :api_users).where(
|
||||
id: ApiUser.having("#{SQL_SUM_STR} = 0").group(:registrar_id).pluck(:registrar_id)
|
||||
)
|
||||
).ordered
|
||||
end
|
||||
|
||||
def set_registrar_status_filter
|
||||
params[:status] ||= 'Active'
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue