diff --git a/app/controllers/api/v1/registrant/contacts_controller.rb b/app/controllers/api/v1/registrant/contacts_controller.rb index 0e4ca81c2..b8e9d2b43 100644 --- a/app/controllers/api/v1/registrant/contacts_controller.rb +++ b/app/controllers/api/v1/registrant/contacts_controller.rb @@ -102,6 +102,7 @@ module Api ident_type: 'priv', ident_country_code: country) return contact if contact + update_contacts_before_receive Contact.find_by(uuid: uuid, ident_type: 'org', ident: company_codes, ident_country_code: country) @@ -109,6 +110,21 @@ module Api nil end + def update_contacts_before_receive + company_register = CompanyRegister::Client.new + companies = company_register.representation_rights(citizen_personal_code: current_registrant_user.ident, + citizen_country_code: current_registrant_user.country.alpha3) + + companies.each do |c| + contact = Contact.find_by(ident: c.registration_number) + break if contact.blank? + contact.update(name: c.company_name) unless c.company_name == contact.name + end + + rescue CompanyRegister::NotAvailableError + nil + end + def company_codes current_registrant_user.companies.collect(&:registration_number) end diff --git a/app/models/registrant_user.rb b/app/models/registrant_user.rb index c174f06ad..f7e85c5af 100644 --- a/app/models/registrant_user.rb +++ b/app/models/registrant_user.rb @@ -20,8 +20,7 @@ class RegistrantUser < User def companies(company_register = CompanyRegister::Client.new) return [] if ident.include?('-') - p "++++++++++++++++++++++++++++++++++++++++" - p company_register.representation_rights(citizen_personal_code: ident, + company_register.representation_rights(citizen_personal_code: ident, citizen_country_code: country.alpha3) end