mirror of
https://github.com/internetee/registry.git
synced 2025-05-17 17:59:47 +02:00
55 lines
No EOL
1.5 KiB
Ruby
55 lines
No EOL
1.5 KiB
Ruby
class Registrant::DomainsController < RegistrantController
|
|
|
|
def index
|
|
authorize! :view, :registrant_domains
|
|
params[:q] ||= {}
|
|
domains = current_user.domains
|
|
normalize_search_parameters do
|
|
@q = domains.search(params[:q])
|
|
@domains = @q.result.page(params[:page])
|
|
end
|
|
@domains = @domains.per(params[:results_per_page]) if params[:results_per_page].to_i > 0
|
|
end
|
|
|
|
def show
|
|
@domain = Domain.find(params[:id])
|
|
if !(current_user.domains.include?(@domain) || @domain.valid?)
|
|
redirect_to registrant_domains_path
|
|
end
|
|
authorize! :read, @domain
|
|
end
|
|
|
|
def set_domain
|
|
@domain = Domain.find(params[:id])
|
|
end
|
|
|
|
def download_list
|
|
authorize! :view, :registrant_domains
|
|
params[:q] ||= {}
|
|
domains = current_user.domains
|
|
normalize_search_parameters do
|
|
@q = 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
|
|
|
|
def normalize_search_parameters
|
|
ca_cache = params[:q][:valid_to_lteq]
|
|
begin
|
|
end_time = params[:q][:valid_to_lteq].try(:to_date)
|
|
params[:q][:valid_to_lteq] = end_time.try(:end_of_day)
|
|
rescue
|
|
logger.warn('Invalid date')
|
|
end
|
|
yield
|
|
params[:q][:valid_to_lteq] = ca_cache
|
|
end
|
|
end |