From d2b5266887fe67a0180753383f0548bc290deef6 Mon Sep 17 00:00:00 2001 From: Vladimir Krylov Date: Thu, 29 Oct 2015 15:22:03 +0200 Subject: [PATCH] in the migration script add state to the Contact --- app/models/legacy/contact.rb | 3 +- app/models/legacy/object_state.rb | 55 ++++++++++++++++--------------- lib/tasks/import.rake | 5 +-- 3 files changed, 33 insertions(+), 30 deletions(-) diff --git a/app/models/legacy/contact.rb b/app/models/legacy/contact.rb index e77c39b36..04f8c34a4 100644 --- a/app/models/legacy/contact.rb +++ b/app/models/legacy/contact.rb @@ -3,6 +3,7 @@ module Legacy self.table_name = :contact belongs_to :object_registry, foreign_key: :id belongs_to :object, foreign_key: :id - belongs_to :object_state, foreign_key: :id, primary_key: :object_id + + has_one :object_state, -> { where('valid_to IS NULL') }, foreign_key: :object_id end end diff --git a/app/models/legacy/object_state.rb b/app/models/legacy/object_state.rb index 0a59cf021..11ba8008b 100644 --- a/app/models/legacy/object_state.rb +++ b/app/models/legacy/object_state.rb @@ -2,32 +2,31 @@ module Legacy class ObjectState < Db self.table_name = :object_state - def name - # legacy values - # 2 => "serverRenewProhibited", - # 5 => "serverOutzoneManual", - # 6 => "serverInzoneManual", - # 7 => "serverBlocked", - # 8 => "expirationWarning", - # 9 => "expired", - # 10 => "unguarded", - # 11 => "validationWarning1", - # 12 => "validationWarning2", - # 13 => "notValidated", - # 14 => "nssetMissing", - # 15 => "outzone", - # 18 => "serverRegistrantChangeProhibited", - # 19 => "deleteWarning", - # 20 => "outzoneUnguarded", - # 1 => "serverDeleteProhibited", - # 3 => "serverTransferProhibited", - # 4 => "serverUpdateProhibited", - # 16 => "linked", - # 17 => "deleteCandidate", - # 21 => "forceDelete" + # legacy values + # 2 => "serverRenewProhibited", + # 5 => "serverOutzoneManual", + # 6 => "serverInzoneManual", + # 7 => "serverBlocked", + # 8 => "expirationWarning", + # 9 => "expired", + # 10 => "unguarded", + # 11 => "validationWarning1", + # 12 => "validationWarning2", + # 13 => "notValidated", + # 14 => "nssetMissing", + # 15 => "outzone", + # 18 => "serverRegistrantChangeProhibited", + # 19 => "deleteWarning", + # 20 => "outzoneUnguarded", + # 1 => "serverDeleteProhibited", + # 3 => "serverTransferProhibited", + # 4 => "serverUpdateProhibited", + # 16 => "linked", + # 17 => "deleteCandidate", + # 21 => "forceDelete" - # new values - map = { + # new values + STATE_NAMES = { 2 => "serverRenewProhibited", 5 => "serverHold", 6 => "serverManualInzone", @@ -44,9 +43,11 @@ module Legacy 16 => "linked", 17 => "deleteCandidate", # grupistaatus 21 => "forceDelete" # grupistaatus - } + }.freeze - map[state_id] + + def name + STATE_NAMES[state_id] end def desc diff --git a/lib/tasks/import.rake b/lib/tasks/import.rake index 661c94c22..2a13f8a28 100644 --- a/lib/tasks/import.rake +++ b/lib/tasks/import.rake @@ -164,11 +164,11 @@ namespace :import do zip state country_code + statuses ) contacts = [] existing_contact_ids = Contact.pluck(:legacy_id) - user = "rake-#{`whoami`.strip} #{ARGV.join ' '}" count = 0 Legacy::Contact.includes(:object_registry, :object, object_registry: :registrar) @@ -200,7 +200,8 @@ namespace :import do x.city.try(:strip), x.postalcode.try(:strip), x.stateorprovince.try(:strip), - x.country.try(:strip) + x.country.try(:strip), + [x.object_state.try(:name)|| Contact::OK] ] if contacts.size % 10000 == 0