diff --git a/app/models/legacy/registrar.rb b/app/models/legacy/registrar.rb index 048529d62..a0a0c251d 100644 --- a/app/models/legacy/registrar.rb +++ b/app/models/legacy/registrar.rb @@ -3,7 +3,7 @@ module Legacy self.table_name = :registrar has_many :invoices, foreign_key: :registrarid - has_one :acl, foreign_key: :registrarid, class_name: "Legacy::RegistrarAcl" + has_many :acl, foreign_key: :registrarid, class_name: "Legacy::RegistrarAcl" def account_balance invoices.sum(:credit) diff --git a/lib/tasks/import.rake b/lib/tasks/import.rake index b2ea9f6e5..0bab1a4fc 100644 --- a/lib/tasks/import.rake +++ b/lib/tasks/import.rake @@ -141,19 +141,33 @@ namespace :import do next if existing_ids.include?(x.id) count += 1 - users << ApiUser.new({ - username: x.handle.try(:strip), - password: x.acl.try(:password), - registrar_id: Registrar.find_by(legacy_id: x.try(:id)).try(:id), - legacy_id: x.try(:id) - }) + if x.acl.last.try(:cert) != 'pki' + if x.acl.last.try(:cert) != 'idkaart' + users << ApiUser.new({ + username: x.handle.try(:strip), + password: x.acl.last.try(:password) ? x.acl.last.try(:password) : x.acl.first.try(:password), + identity_code: x.handle.try(:strip), + registrar_id: Registrar.find_by(legacy_id: x.try(:id)).try(:id), + legacy_id: x.try(:id) + }) + else + users << ApiUser.new({ + username: x.handle.try(:strip), + password: x.acl.last.try(:password) ? x.acl.last.try(:password) : x.acl.first.try(:password), + registrar_id: Registrar.find_by(legacy_id: x.try(:id)).try(:id), + legacy_id: x.try(:id) + }) + end + end - if x.acl.try(:ipaddr) - ips << WhiteIp.new({ - registrar_id: Registrar.find_by(legacy_id: x.try(:id)).try(:id), - ipv4: x.acl.try(:ipaddr) - }) - end + x.acl.all.each do |y| + if !y.ipaddr.nil? && y.ipaddr != '' + ips << WhiteIp.new({ + registrar_id: Registrar.find_by(legacy_id: x.try(:id)).try(:id), + ipv4: y.ipaddr + }) + end + end end ApiUser.import users, validate: false