Use resourceful routes

https://github.com/rails/rails/pull/23980
This commit is contained in:
Artur Beljajev 2019-10-12 17:06:35 +03:00
parent f8765eca4d
commit 199085f8ac
15 changed files with 152 additions and 113 deletions

View file

@ -4,11 +4,27 @@ class Registrant::DomainsController < RegistrantController
params[:q] ||= {}
normalize_search_parameters do
@q = current_user_domains.search(params[:q])
@domains = @q.result.page(params[:page])
@q = current_user_domains.search(search_params)
end
@domains = @domains.per(params[:results_per_page]) if params[:results_per_page].to_i.positive?
domains = @q.result
respond_to do |format|
format.html do
@domains = domains.page(params[:page])
domains_per_page = params[:results_per_page].to_i
@domains = @domains.per(domains_per_page) if domains_per_page.positive?
end
format.csv do
raw_csv = @q.result.to_csv
send_data raw_csv, filename: 'domains.csv', type: "#{Mime[:csv]}; charset=utf-8"
end
format.pdf do
@domains = domains
raw_pdf = domains.pdf(render_to_string('registrant/domains/download_list', layout: false))
send_data raw_pdf, filename: 'domains.pdf'
end
end
end
def show
@ -32,23 +48,6 @@ class Registrant::DomainsController < RegistrantController
end
end
def download_list
authorize! :view, :registrant_domains
params[:q] ||= {}
normalize_search_parameters do
@q = current_user_domains.search(params[:q])
@domains = @q
end
respond_to do |format|
format.csv { render text: @domains.result.to_csv }
format.pdf do
pdf = @domains.result.pdf(render_to_string('registrant/domains/download_list', layout: false))
send_data pdf, filename: 'domains.pdf'
end
end
end
private
def normalize_search_parameters
@ -70,4 +69,9 @@ class Registrant::DomainsController < RegistrantController
registrant_domain_delete_confirm_url(token: domain.registrant_verification_token)
end
end
def search_params
params.require(:q).permit(:name_matches, :registrant_ident_eq, :valid_to_gteq, :valid_to_lteq,
:results_per_page)
end
end