Add bulk replace to registrar area

#662
This commit is contained in:
Artur Beljajev 2018-03-19 00:55:35 +02:00
parent f7c2b25a66
commit 228078a84e
30 changed files with 474 additions and 66 deletions

View file

@ -1,2 +1,23 @@
class TechDomainContact < DomainContact
# Audit log is needed, therefore no raw SQL
def self.replace(predecessor, successor)
affected_domains = []
skipped_domains = []
tech_contacts = where(contact: predecessor)
transaction do
tech_contacts.each do |tech_contact|
if tech_contact.domain.discarded?
skipped_domains << tech_contact.domain.name
next
end
tech_contact.contact = successor
tech_contact.save!
affected_domains << tech_contact.domain.name
end
end
return affected_domains.sort, skipped_domains.sort
end
end