mirror of
https://github.com/internetee/registry.git
synced 2025-07-27 21:16:12 +02:00
Fixed ransack admin search
This commit is contained in:
parent
ae384e4e64
commit
aa8d8c35e8
9 changed files with 34 additions and 20 deletions
|
@ -26,7 +26,7 @@ module Admin
|
|||
respond_to do |format|
|
||||
format.html { render page }
|
||||
format.csv do
|
||||
raw_csv = CsvGenerator.generate_csv(@q.result)
|
||||
raw_csv = CsvGenerator.generate_csv(@q.result(distinct: true))
|
||||
send_data raw_csv,
|
||||
filename: "#{filename}_#{Time.zone.now.to_formatted_s(:number)}.csv",
|
||||
type: "#{Mime[:csv]}; charset=utf-8"
|
||||
|
|
|
@ -5,27 +5,21 @@ module Admin
|
|||
before_action :set_domain, only: %i[show edit update download keep]
|
||||
authorize_resource
|
||||
|
||||
# rubocop:disable Metrics/MethodLength
|
||||
def index
|
||||
params[:q] ||= {}
|
||||
domains = if params[:statuses_contains]
|
||||
Domain.includes(:registrar, :registrant).where(
|
||||
"domains.statuses @> ?::varchar[]", "{#{params[:statuses_contains].join(',')}}"
|
||||
)
|
||||
else
|
||||
Domain.includes(:registrar, :registrant)
|
||||
end
|
||||
domains = Domain.includes(:registrar, :registrant).joins(:registrar, :registrant)
|
||||
p = params[:statuses_contains]
|
||||
domains = domains.where('domains.statuses @> ?::varchar[]', "{#{p.join(',')}}") if p.present?
|
||||
|
||||
normalize_search_parameters do
|
||||
@q = domains.ransack(PartialSearchFormatter.format(params[:q]))
|
||||
@domains = @q.result.page(params[:page])
|
||||
@domains = @q.result(distinct: true).page(params[:page])
|
||||
end
|
||||
|
||||
@domains = @domains.per(params[:results_per_page]) if params[:results_per_page].to_i.positive?
|
||||
|
||||
render_by_format('admin/domains/index', 'domains')
|
||||
end
|
||||
# rubocop:enable Metrics/MethodLength
|
||||
|
||||
def show
|
||||
# Validation is needed to warn users
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue