Merge branch '111864739-history_legal_doc' into staging

This commit is contained in:
Stas 2016-01-26 18:35:09 +02:00
commit 958cf84220
3 changed files with 49 additions and 0 deletions

View file

@ -7,6 +7,8 @@ class Domain < ActiveRecord::Base
attr_accessor :roles attr_accessor :roles
attr_accessor :legal_document_id
# TODO: whois requests ip whitelist for full info for own domains and partial info for other domains # TODO: whois requests ip whitelist for full info for own domains and partial info for other domains
# TODO: most inputs should be trimmed before validatation, probably some global logic? # TODO: most inputs should be trimmed before validatation, probably some global logic?
@ -852,6 +854,7 @@ class Domain < ActiveRecord::Base
log[:tech_contacts] = tech_contact_ids log[:tech_contacts] = tech_contact_ids
log[:nameservers] = nameserver_ids log[:nameservers] = nameserver_ids
log[:dnskeys] = dnskey_ids log[:dnskeys] = dnskey_ids
log[:legal_documents]= [legal_document_id]
log[:registrant] = [registrant_id] log[:registrant] = [registrant_id]
log log
end end

View file

@ -476,6 +476,7 @@ class Epp::Domain < Domain
if doc = attach_legal_document(Epp::Domain.parse_legal_document_from_frame(frame)) if doc = attach_legal_document(Epp::Domain.parse_legal_document_from_frame(frame))
frame.css("legalDocument").first.content = doc.path if doc && doc.persisted? frame.css("legalDocument").first.content = doc.path if doc && doc.persisted?
self.legal_document_id = doc.id
end end
at_add = attrs_from(frame.css('add'), current_user, 'add') at_add = attrs_from(frame.css('add'), current_user, 'add')

45
lib/tasks/documents.rake Normal file
View file

@ -0,0 +1,45 @@
namespace :documents do
desc 'Generate all'
task all: :environment do
Rake::Task['documents:log'].invoke
end
desc 'Generate legaldoc versions'
task log: :environment do
start = Time.zone.now.to_f
puts '-----> Adding documets id for PaperTrail log...'
count = 0
LegalDocument.find_each do |x|
next if x.documentable_id.blank?
document_type = case x.documentable_type
when 'Domain' then DomainVersion
when 'Contact'then ContactVersion
end
dc = document_type.where(item_id: x.documentable_id)
dc.each do |y|
if x.created_at < (y.created_at + (2*60)) &&
x.created_at > (y.created_at - (2*60))
y.children[:legal_documents] = [x.id]
y.save
count =+1
else
y.children[:legal_documents] = []
y.save
end
end
end
puts "-----> Log changed for #{count} rows in #{(Time.zone.now.to_f - start).round(2)} seconds"
end
end