Story#105842700 - found some way how to load historical objects. Data will be extracted

This commit is contained in:
Vladimir Krylov 2016-03-22 11:43:24 +02:00
parent 71e3db611b
commit 779a47c80f
2 changed files with 39 additions and 51 deletions

View file

@ -1,18 +1,8 @@
class Admin::DomainVersionsController < AdminController
load_and_authorize_resource
# rubocop:disable Style/GuardClause
def index
@domain = Domain.where(id: params[:domain_id]).includes({versions: :item}).first
@domain = Domain.where(id: params[:domain_id]).includes(versions: :item).first
@versions = @domain.versions
# Depricated it had to load legal document. We may do it by parsing and adding link.
# if @domain.pending_json.present?
# frame = Nokogiri::XML(@domain.pending_json['frame'])
# @pending_user = User.find(@domain.pending_json['current_user_id'])
# @pending_domain = Epp::Domain.find(@domain.id)
# @pending_domain.update(frame, @pending_user, false)
# end
end
# rubocop:enable Style/GuardClause
end

View file

@ -6,10 +6,11 @@
- if domain.present?
- if version # normal history
- children = HashWithIndifferentAccess.new(version.children)
- nameservers = Nameserver.where(id: children[:nameservers])
- tech_contacts = Contact.where(id: children[:tech_contacts])
- admin_contacts = Contact.where(id: children[:admin_contacts])
- registrant = Contact.where(id: children[:registrant])
- nameservers = NameserverVersion.where(item_id: children[:nameservers]).order(:item_id).preceding(version.created_at + 1, true).select("distinct on (item_id) #{NameserverVersion.table_name}.*").map{|ver| o=Nameserver.new(ver.object); ver.object_changes.to_h.each{|k,v| o[k]=v[-1] };o }
-#- nameservers = children[:nameservers].map{|id| Nameserver.new(id: id).safe_version_at(version.created_at)}
- tech_contacts = Contact.where(id: children[:tech_contacts]).map{|o| o.safe_version_at(version.created_at)}
- admin_contacts = Contact.where(id: children[:admin_contacts]).map{|o| o.safe_version_at(version.created_at)}
- registrant = Contact.where(id: children[:registrant]).map{|o| o.safe_version_at(version.created_at)}
- event = version.event
- creator = plain_username(version.terminator)
- else # pending history
@ -55,8 +56,7 @@
= "#{l(domain.valid_to, format: :date)}"
%td
- if registrant
- registrant.each do |r|
- Array(registrant).each do |r|
%p
= r[:name]
= r[:phone]
@ -65,8 +65,7 @@
= r[:code]
%td
- if admin_contacts
- admin_contacts.each do |ac|
- Array(admin_contacts).each do |ac|
%p
= ac[:name]
= ac[:phone]
@ -75,8 +74,7 @@
= ac[:code]
%td
- if tech_contacts
- tech_contacts.each do |tc|
- Array(tech_contacts).each do |tc|
%p
= tc[:name]
= tc[:phone]
@ -86,12 +84,12 @@
%td
%p
- if nameservers
- nameservers.each do |ns|
- Array(nameservers).each do |ns|
= ns[:hostname]
%br
= ns[:ipv4]
= ns[:ipv6]
%br
%td
%p