diff --git a/app/api/repp/domain_contacts_v1.rb b/app/api/repp/domain_contacts_v1.rb index 5a38897d4..a5f337139 100644 --- a/app/api/repp/domain_contacts_v1.rb +++ b/app/api/repp/domain_contacts_v1.rb @@ -5,29 +5,33 @@ module Repp resource :domains do resource :contacts do patch '/' do - predecessor = current_user.registrar.contacts.find_by(code: params[:predecessor]) - successor = current_user.registrar.contacts.find_by(code: params[:successor]) + current_contact = current_user.registrar.contacts + .find_by(code: params[:current_contact_id]) + new_contact = current_user.registrar.contacts.find_by(code: params[:new_contact_id]) - unless predecessor + unless current_contact error!({ error: { type: 'invalid_request_error', - param: 'predecessor', - message: "No such contact: #{params[:predecessor]}" } }, :bad_request) + param: 'current_contact_id', + message: "No such contact: #{params[:current_contact_id]}"} }, + :bad_request) end - unless successor + unless new_contact error!({ error: { type: 'invalid_request_error', - param: 'successor', - message: "No such contact: #{params[:successor]}" } }, :bad_request) + param: 'new_contact_id', + message: "No such contact: #{params[:new_contact_id]}" } }, + :bad_request) end - if predecessor == successor + if current_contact == new_contact error!({ error: { type: 'invalid_request_error', message: 'New contact ID must be different from current' \ ' contact ID' } }, :bad_request) end - affected_domains, skipped_domains = TechDomainContact.replace(predecessor, successor) + affected_domains, skipped_domains = TechDomainContact + .replace(current_contact, new_contact) @response = { affected_domains: affected_domains, skipped_domains: skipped_domains } end end diff --git a/app/controllers/registrar/tech_contacts_controller.rb b/app/controllers/registrar/tech_contacts_controller.rb index fccb10f78..9d4568ad6 100644 --- a/app/controllers/registrar/tech_contacts_controller.rb +++ b/app/controllers/registrar/tech_contacts_controller.rb @@ -6,7 +6,8 @@ class Registrar uri = URI.parse("#{ENV['repp_url']}domains/contacts") request = Net::HTTP::Patch.new(uri) - request.set_form_data(predecessor: params[:predecessor], successor: params[:successor]) + request.set_form_data(current_contact_id: params[:current_contact_id], + new_contact_id: params[:new_contact_id]) request.basic_auth(current_user.username, current_user.password) if Rails.env.test? diff --git a/app/models/tech_domain_contact.rb b/app/models/tech_domain_contact.rb index 55cc45aed..04f36c4e4 100644 --- a/app/models/tech_domain_contact.rb +++ b/app/models/tech_domain_contact.rb @@ -1,9 +1,9 @@ class TechDomainContact < DomainContact # Audit log is needed, therefore no raw SQL - def self.replace(predecessor, successor) + def self.replace(current_contact, new_contact) affected_domains = [] skipped_domains = [] - tech_contacts = where(contact: predecessor) + tech_contacts = where(contact: current_contact) transaction do tech_contacts.each do |tech_contact| @@ -12,7 +12,7 @@ class TechDomainContact < DomainContact next end - tech_contact.contact = successor + tech_contact.contact = new_contact tech_contact.save! affected_domains << tech_contact.domain.name end diff --git a/app/views/registrar/bulk_change/_tech_contact_form.html.erb b/app/views/registrar/bulk_change/_tech_contact_form.html.erb index f8e0a29d3..f759177b2 100644 --- a/app/views/registrar/bulk_change/_tech_contact_form.html.erb +++ b/app/views/registrar/bulk_change/_tech_contact_form.html.erb @@ -7,11 +7,11 @@