diff --git a/app/models/contact.rb b/app/models/contact.rb index 096ea9f59..e7e6933cb 100644 --- a/app/models/contact.rb +++ b/app/models/contact.rb @@ -33,7 +33,7 @@ class Contact < ActiveRecord::Base uniqueness: { message: :epp_id_taken }, format: { with: /\A[\w\-\:\.\_]*\z/i, message: :invalid }, length: { maximum: 100, message: :too_long_contact_code } - validates :ident_type, inclusion: {in: %w( org priv birthday), message: :invalid} + validates :ident_type, inclusion: {in: %w( org priv birthday), message: :ident_type_invalid} validate :val_ident_valid_format? validate :uniq_statuses? validate :validate_html diff --git a/app/models/epp/contact.rb b/app/models/epp/contact.rb index f6bf54f74..8e1da8e4b 100644 --- a/app/models/epp/contact.rb +++ b/app/models/epp/contact.rb @@ -126,13 +126,15 @@ class Epp::Contact < Contact [:ident, :invalid_birthday_format], [:ident, :invalid_country_code], [:ident_type, :missing], - [:ident_type, :invalid], [:code, :invalid], [:code, :too_long_contact_code] ], '2302' => [ # Object exists [:code, :epp_id_taken] ], + '2304' => [ # Object status prohibits operation + [:ident_type, :epp_ident_type_invalid, { value: { obj: 'code', val: code } }] + ], '2305' => [ # Association exists [:domains, :exist] ], diff --git a/config/locales/en.yml b/config/locales/en.yml index dbba4d031..16e29ae45 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -52,6 +52,9 @@ en: invalid_EE_identity_format_update: "Ident not in valid Estonian identity format. Please create new contact" invalid_birthday_format: "Ident not in valid birthady format, should be YYYY-MM-DD" invalid_country_code: "Ident country code is not valid, should be in ISO_3166-1 alpha 2 format" + ident_type: + ident_type_invalid: 'Ident type is invalid' + epp_ident_type_invalid: 'Object status prohibits operation: ident_type of contact %{code} is invalid' domains: exist: 'Object association prohibits operation' statuses: