diff --git a/app/helpers/epp/domains_helper.rb b/app/helpers/epp/domains_helper.rb index 604dc0fc5..b1a50e418 100644 --- a/app/helpers/epp/domains_helper.rb +++ b/app/helpers/epp/domains_helper.rb @@ -1,18 +1,11 @@ module Epp::DomainsHelper def create_domain - domain = Domain.new(domain_create_params) + @domain = Domain.new(domain_create_params) - if domain.save + if @domain.save render '/epp/domains/create' else - if domain.errors.added?(:name, :taken) - @code = '2302' - @msg = 'Domain name already exists' - elsif domain.errors.added?(:name, :epp_domain_reserved) - @code = '2302' - @msg = domain.errors[:name].first - end - + handle_domain_name_errors render '/epp/error' end end @@ -37,4 +30,14 @@ module Epp::DomainsHelper auth_info: ph[:authInfo][:pw] } end + + def handle_domain_name_errors + [:epp_domain_taken, :epp_domain_reserved].each do |x| + if @domain.errors.added?(:name, x) + @code = '2302' + @msg = @domain.errors[:name].first + end + end + end + end diff --git a/app/models/domain.rb b/app/models/domain.rb index d358c4aa6..5a7d97391 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -8,7 +8,7 @@ class Domain < ActiveRecord::Base belongs_to :technical_contact, class_name: 'Contact' belongs_to :admin_contact, class_name: 'Contact' - validates :name, domain_name: true, uniqueness: true + validates :name, domain_name: true, uniqueness: { message: I18n.t('errors.messages.epp_domain_taken') } validates :name_puny, domain_name: true def name=(value) diff --git a/config/locales/en.yml b/config/locales/en.yml index df5b989ac..76909cf82 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -23,4 +23,5 @@ en: errors: messages: epp_domain_reserved: 'Domain name is reserved or restricted' + epp_domain_taken: 'Domain name already exists' hello: "Hello world"