diff --git a/app/controllers/epp/domains_controller.rb b/app/controllers/epp/domains_controller.rb index 2d21406af..ca6432dde 100644 --- a/app/controllers/epp/domains_controller.rb +++ b/app/controllers/epp/domains_controller.rb @@ -153,7 +153,11 @@ class Epp::DomainsController < EppController def find_domain domain_name = params[:parsed_frame].css('name').text.strip.downcase - @domain = Epp::Domain.find_by(name: domain_name) + if params[:action] == 'transfer' + @domain = Epp::Domain.includes(:registrar).where(name: domain_name).first + else + @domain = Epp::Domain.where(name: domain_name).first + end unless @domain epp_errors << { diff --git a/app/models/domain.rb b/app/models/domain.rb index 38329506d..c7d4ff193 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -241,40 +241,52 @@ class Domain < ActiveRecord::Base # rubocop:disable Metrics/MethodLength def update_whois_body self.whois_body = <<-EOS - This Whois Server contains information on - Estonian Top Level Domain ee TLD + This Whois Server contains information on + Estonian Top Level Domain ee TLD - domain: #{name} - registrar: #{registrar} - status: - registered: - changed: #{updated_at.to_s(:db)} - expire: - outzone: - delete: + domain: #{name} + registrar: #{registrar} + status: + registered: #{registered_at and registered_at.to_s(:db)} + changed: #{updated_at and updated_at.to_s(:db)} + expire: + outzone: + delete: - contact - name: - e-mail: - registrar: - created: + #{contacts_body} - contact: + nsset: + nserver: - nsset: - nserver: - - registrar: - org: - url: - phone: - address: - created: - changed: + registrar: #{registrar} + phone: #{registrar.phone} + address: #{registrar.address} + created: #{registrar.created_at.to_s(:db)} + changed: #{registrar.updated_at.to_s(:db)} EOS end # rubocop:enabled Metrics/MethodLength + def contacts_body + out = '' + admin_contacts.includes(:registrar).each do |c| + out << 'Admin contact:' + out << "name: #{c.name}" + out << "email: #{c.email}" + out << "registrar: #{c.registrar}" + out << "created: #{c.created_at.to_s(:db)}" + end + + tech_contacts.includes(:registrar).each do |c| + out << 'Tech contact:' + out << "name: #{c.name}" + out << "email: #{c.email}" + out << "registrar: #{c.registrar}" + out << "created: #{c.created_at.to_s(:db)}" + end + out + end + def whois_server_update(name, whois_body) wd = Whois::Domain.find_or_initialize_by(name: name) wd.whois_body = whois_body diff --git a/config/environments/test.rb b/config/environments/test.rb index d7db4fa70..471028f30 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -49,5 +49,6 @@ Rails.application.configure do Bullet.enable = true Bullet.bullet_logger = true Bullet.raise = true # raise an error if n+1 query occurs + # Bullet.unused_eager_loading_enable = false end end