class Registrant::DomainsController < RegistrantController def index authorize! :view, :registrant_domains params[:q] ||= {} 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 !(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] ||= {} 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 domains ident_cc, ident = @current_user.registrant_ident.split '-' begin BusinessRegistryCache.fetch_associated_domains ident, ident_cc rescue Soap::Arireg::NotAvailableError => error flash[:notice] = I18n.t(error.json[:message]) Rails.logger.fatal("[EXCEPTION] #{error.to_s}") current_user.domains 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