refactored

This commit is contained in:
dinsmol 2021-08-12 12:02:34 +03:00
parent 8f17712232
commit d2d31c049c
19 changed files with 32 additions and 112 deletions

View file

@ -21,5 +21,19 @@ module Admin
def paginate?
params[:results_per_page].to_i.positive?
end
def render_by_format(page, filename)
respond_to do |format|
format.html do
render page
end
format.csv do
raw_csv = @q.result.to_csv
send_data raw_csv,
filename: "#{filename}_#{Time.zone.now.to_formatted_s(:number)}.csv",
type: "#{Mime[:csv]}; charset=utf-8"
end
end
end
end
end

View file

@ -9,17 +9,7 @@ module Admin
@domains = @q.result.page(params[:page])
@domains = @domains.per(params[:results_per_page]) if params[:results_per_page].to_i.positive?
respond_to do |format|
format.html do
render 'admin/blocked_domains/index'
end
format.csv do
raw_csv = @q.result.to_csv
send_data raw_csv,
filename: "blocked_domains_#{Time.zone.now.to_formatted_s(:number)}.csv",
type: "#{Mime[:csv]}; charset=utf-8"
end
end
render_by_format('admin/blocked_domains/index', 'blocked_domains')
end
def new

View file

@ -28,17 +28,7 @@ module Admin
@versions = @q.result.page(params[:page])
@versions = @versions.per(params[:results_per_page]) if params[:results_per_page].to_i.positive?
respond_to do |format|
format.html do
render 'admin/contact_versions/index'
end
format.csv do
raw_csv = @q.result.to_csv
send_data raw_csv,
filename: "contact_history_#{Time.zone.now.to_formatted_s(:number)}.csv",
type: "#{Mime[:csv]}; charset=utf-8"
end
end
render_by_format('admin/contact_versions/index', 'contact_history')
end
def show

View file

@ -25,17 +25,7 @@ module Admin
@contacts = @contacts.per(params[:results_per_page]) if params[:results_per_page].to_i.positive?
respond_to do |format|
format.html do
@contacts
end
format.csv do
raw_csv = @q.result.distinct.to_csv
send_data raw_csv,
filename: "contacts_#{Time.zone.now.to_formatted_s(:number)}.csv",
type: "#{Mime[:csv]}; charset=utf-8"
end
end
render_by_format('admin/contacts/index', 'contacts')
end
def filter_by_flags(contacts)

View file

@ -11,17 +11,7 @@ module Admin
@disputes = sortable_dispute_query_for(Dispute.active.all, params[:q])
@closed_disputes = sortable_dispute_query_for(Dispute.closed.all, params[:q], closed: true)
respond_to do |format|
format.html do
render 'admin/disputes/index'
end
format.csv do
raw_csv = @q.result.to_csv
send_data raw_csv,
filename: "disputes_#{Time.zone.now.to_formatted_s(:number)}.csv",
type: "#{Mime[:csv]}; charset=utf-8"
end
end
render_by_format('admin/disputes/index', 'disputes')
end
# GET /admin/disputes/1

View file

@ -45,7 +45,7 @@ module Admin
@versions = @q.result.page(params[:page])
@versions = @versions.per(params[:results_per_page]) if params[:results_per_page].to_i.positive?
render_by_format
render_by_format('admin/domain_versions/archive', 'domain_history')
end
def show
@ -73,19 +73,5 @@ module Admin
def create_where_string(key, value)
" AND object->>'#{key}' ~* '#{value}'"
end
def render_by_format
respond_to do |format|
format.html do
render 'admin/domain_versions/archive'
end
format.csv do
raw_csv = @q.result.to_csv
send_data raw_csv,
filename: "domain_history_#{Time.zone.now.to_formatted_s(:number)}.csv",
type: "#{Mime[:csv]}; charset=utf-8"
end
end
end
end
end

View file

@ -29,15 +29,7 @@ module Admin
end
@domains = @domains.per(params[:results_per_page]) if params[:results_per_page].to_i.positive?
respond_to do |format|
format.html do
@domains
end
format.csv do
raw_csv = @domains.to_csv
send_data raw_csv, filename: 'domains.csv', type: "#{Mime[:csv]}; charset=utf-8"
end
end
render_by_format('admin/domains/index', 'domains')
end
def show

View file

@ -14,17 +14,7 @@ module Admin
@count = @q.result.count
@epp_logs = @epp_logs.per(params[:results_per_page]) if paginate?
respond_to do |format|
format.html do
render 'admin/epp_logs/index'
end
format.csv do
raw_csv = @q.result.to_csv
send_data raw_csv,
filename: "epp_logs_#{Time.zone.now.to_formatted_s(:number)}.csv",
type: "#{Mime[:csv]}; charset=utf-8"
end
end
render_by_format('admin/epp_logs/index', 'epp_logs')
end
def show
@ -43,7 +33,6 @@ module Admin
params[:q][:created_at_gteq] = Date.send(default_date).strftime("%Y-%m-%d")
end
end
end
end

View file

@ -14,17 +14,7 @@ module Admin
@count = @q.result.count
@repp_logs = @repp_logs.per(params[:results_per_page]) if paginate?
respond_to do |format|
format.html do
render 'admin/repp_logs/index'
end
format.csv do
raw_csv = @q.result.to_csv
send_data raw_csv,
filename: "repp_logs_#{Time.zone.now.to_formatted_s(:number)}.csv",
type: "#{Mime[:csv]}; charset=utf-8"
end
end
render_by_format('admin/repp_logs/index', 'repp_logs')
end
def show
@ -44,7 +34,6 @@ module Admin
params[:q][:created_at_gteq] = Date.send(default_date).strftime("%Y-%m-%d")
end
end
end
end

View file

@ -10,17 +10,7 @@ module Admin
@domains = @q.result.page(params[:page])
@domains = @domains.per(params[:results_per_page]) if params[:results_per_page].to_i.positive?
respond_to do |format|
format.html do
render 'admin/reserved_domains/index'
end
format.csv do
raw_csv = @q.result.to_csv
send_data raw_csv,
filename: "reserved_domains_#{Time.zone.now.to_formatted_s(:number)}.csv",
type: "#{Mime[:csv]}; charset=utf-8"
end
end
render_by_format('admin/reserved_domains/index', 'reserved_domains')
end
def new

View file

@ -1,4 +1,4 @@
module CsvReportHelper
module ToCsv
def to_csv
CSV.generate do |csv|
csv << column_names

View file

@ -1,5 +1,5 @@
module ApiLog
class EppLog < Db
extend CsvReportHelper
extend ToCsv
end
end

View file

@ -1,5 +1,5 @@
module ApiLog
class ReppLog < Db
extend CsvReportHelper
extend ToCsv
end
end

View file

@ -1,6 +1,6 @@
class BlockedDomain < ApplicationRecord
include Versions
extend CsvReportHelper
extend ToCsv
before_save :generate_data
after_destroy :remove_data

View file

@ -1,5 +1,5 @@
class Dispute < ApplicationRecord
extend CsvReportHelper
extend ToCsv
include WhoisStatusPopulate
validates :domain_name, :password, :starts_at, :expires_at, presence: true
before_validation :fill_empty_passwords, :set_expiry_date

View file

@ -1,5 +1,5 @@
class Domain < ApplicationRecord
extend CsvReportHelper
extend ToCsv
include UserEvents
include Roids
include Versions # version/domain_version.rb

View file

@ -1,5 +1,5 @@
class ReservedDomain < ApplicationRecord
extend CsvReportHelper
extend ToCsv
include Versions # version/reserved_domain_version.rb
include WhoisStatusPopulate
before_save :fill_empty_passwords

View file

@ -1,5 +1,5 @@
class Version::ContactVersion < PaperTrail::Version
extend CsvReportHelper
extend ToCsv
include VersionSession
self.table_name = :log_contacts

View file

@ -1,5 +1,5 @@
class Version::DomainVersion < PaperTrail::Version
extend CsvReportHelper
extend ToCsv
include VersionSession
self.table_name = :log_domains