mirror of
https://github.com/internetee/registry.git
synced 2025-07-22 18:56:05 +02:00
Story#104525318 - Contact import can handle legal documents import
This commit is contained in:
parent
82caac3a17
commit
550e4cc7b9
1 changed files with 19 additions and 1 deletions
|
@ -35,6 +35,8 @@ namespace :import do
|
||||||
|
|
||||||
desc 'Import contact history'
|
desc 'Import contact history'
|
||||||
task history_contacts: :environment do
|
task history_contacts: :environment do
|
||||||
|
throw 'no config set ENV[legacy_legal_documents_dir]' unless ENV['legacy_legal_documents_dir']
|
||||||
|
|
||||||
old_ids = Legacy::ContactHistory.uniq.pluck(:id)
|
old_ids = Legacy::ContactHistory.uniq.pluck(:id)
|
||||||
old_size = old_ids.size
|
old_size = old_ids.size
|
||||||
parallel_import(old_ids) do |legacy_contact_id, process_idx|
|
parallel_import(old_ids) do |legacy_contact_id, process_idx|
|
||||||
|
@ -88,6 +90,21 @@ namespace :import do
|
||||||
obj_his = Legacy::ObjectHistory.find_by(historyid: responder.historyid)
|
obj_his = Legacy::ObjectHistory.find_by(historyid: responder.historyid)
|
||||||
user = Legacy::Domain.new_api_user_cached(obj_his.upid || obj_his.clid)
|
user = Legacy::Domain.new_api_user_cached(obj_his.upid || obj_his.clid)
|
||||||
|
|
||||||
|
|
||||||
|
files = Legacy::File.for_history(responder.historyid).map do |leg_file|
|
||||||
|
file_dir = leg_file.path.sub(/\/[0-9]+\z/, '')
|
||||||
|
path = "#{ENV['legal_documents_dir']}/#{leg_file.path}_#{leg_file.name}"
|
||||||
|
|
||||||
|
FileUtils.mkdir_p("#{ENV['legal_documents_dir']}/#{file_dir}", mode: 0775)
|
||||||
|
FileUtils.mv("#{ENV['legacy_legal_documents_dir']}/#{leg_file.path}_#{leg_file.name}", path)
|
||||||
|
LegalDocument.create!(documentable_type: ::Contact.to_s,
|
||||||
|
documentable_id: contact.id,
|
||||||
|
document_type: leg_file.name.to_s.split(".").last,
|
||||||
|
path: path,
|
||||||
|
created_at: leg_file.crdate,
|
||||||
|
updated_at: leg_file.crdate)
|
||||||
|
end
|
||||||
|
|
||||||
hash = {
|
hash = {
|
||||||
item_type: Contact.to_s,
|
item_type: Contact.to_s,
|
||||||
item_id: contact.id,
|
item_id: contact.id,
|
||||||
|
@ -95,7 +112,8 @@ namespace :import do
|
||||||
whodunnit: user.try(:id),
|
whodunnit: user.try(:id),
|
||||||
object: last_changes,
|
object: last_changes,
|
||||||
object_changes: changes,
|
object_changes: changes,
|
||||||
created_at: time
|
created_at: time,
|
||||||
|
children: {legacy_documents: files.map(&:id)}
|
||||||
}
|
}
|
||||||
data << hash
|
data << hash
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue