Fix codeclimate errors

This commit is contained in:
dinsmol 2022-01-25 16:05:56 +03:00 committed by olegphenomenon
parent b9992177ca
commit 20ace22d67
3 changed files with 15 additions and 14 deletions

View file

@ -76,7 +76,7 @@ module Admin
respond_to do |format| respond_to do |format|
format.html { render page } format.html { render page }
format.csv do format.csv do
raw_csv = csv_generate(MODEL, CSV_HEADER) raw_csv = csv_generate(MODEL, CSV_HEADER, @versions)
send_data raw_csv, send_data raw_csv,
filename: "#{filename}_#{Time.zone.now.to_formatted_s(:number)}.csv", filename: "#{filename}_#{Time.zone.now.to_formatted_s(:number)}.csv",
type: "#{Mime[:csv]}; charset=utf-8" type: "#{Mime[:csv]}; charset=utf-8"

View file

@ -96,7 +96,7 @@ module Admin
respond_to do |format| respond_to do |format|
format.html { render page } format.html { render page }
format.csv do format.csv do
raw_csv = csv_generate(MODEL, CSV_HEADER) raw_csv = csv_generate(MODEL, CSV_HEADER, @versions)
send_data raw_csv, send_data raw_csv,
filename: "#{filename}_#{Time.zone.now.to_formatted_s(:number)}.csv", filename: "#{filename}_#{Time.zone.now.to_formatted_s(:number)}.csv",
type: "#{Mime[:csv]}; charset=utf-8" type: "#{Mime[:csv]}; charset=utf-8"

View file

@ -13,10 +13,10 @@ module ObjectVersionsHelper
version.object.to_h.select { |key, _value| field_names.include?(key) } version.object.to_h.select { |key, _value| field_names.include?(key) }
end end
def csv_generate(model, header) def csv_generate(model, header, versions)
CSV.generate do |csv| CSV.generate do |csv|
csv << header csv << header
@versions.each do |version| versions.each do |version|
attributes = only_present_fields(version, model) attributes = only_present_fields(version, model)
history_object = model.new(attributes) history_object = model.new(attributes)
attach_existing_fields(version, history_object) unless version.event == 'destroy' attach_existing_fields(version, history_object) unless version.event == 'destroy'
@ -33,18 +33,19 @@ module ObjectVersionsHelper
end end
def registrant_name(domain, version) def registrant_name(domain, version)
if domain.registrant return domain.registrant.name if domain.registrant
domain.registrant.name
else ver = Version::ContactVersion.where(item_id: domain.registrant_id).last
contact = Contact.all_versions_for([domain.registrant_id], version.created_at).first contact = Contact.all_versions_for([domain.registrant_id], version.created_at).first
if contact.nil? && ver = Version::ContactVersion.where(item_id: domain.registrant_id).last
merged_obj = ver.object_changes.to_h.each_with_object({}) {|(k,v), o| o[k] = v.last } if contact.nil? && ver
merged_obj = ver.object_changes.to_h.transform_values(&:last)
result = ver.object.to_h.merge(merged_obj)&.slice(*Contact&.column_names) result = ver.object.to_h.merge(merged_obj)&.slice(*Contact&.column_names)
contact = Contact.new(result) contact = Contact.new(result)
end end
contact.try(:name) || 'Deleted' contact.try(:name) || 'Deleted'
end end
end
def create_row(history_object, version) def create_row(history_object, version)
if history_object.is_a?(Domain) if history_object.is_a?(Domain)