Story#114871365 - Better error messages for country codes in contact

This commit is contained in:
Vladimir Krylov 2016-03-11 15:13:40 +02:00
parent 3615f4dd8b
commit 2af2a2ab1c

View file

@ -32,6 +32,7 @@ class Contact < ActiveRecord::Base
validate :val_ident_valid_format?
validate :uniq_statuses?
validate :validate_html
validate :val_country_code
after_initialize do
self.statuses = [] if statuses.nil?
@ -39,7 +40,7 @@ class Contact < ActiveRecord::Base
self.ident_updated_at = Time.zone.now if new_record? && ident_updated_at.blank?
end
before_validation :val_upcase_country_code
before_validation :to_upcase_country_code
before_validation :val_prefix_code
before_create :generate_auth_info
@ -338,18 +339,14 @@ class Contact < ActiveRecord::Base
destroy
end
def val_upcase_country_code
if code = Country.new(ident_country_code)
self.ident_country_code = code.alpha2
else
errors.add(:ident, :invalid_country_code)
end if ident_country_code_changed? && ident_country_code.present?
def to_upcase_country_code
self.ident_country_code = ident_country_code.upcase if ident_country_code
self.country_code = country_code.upcase if country_code
end
if code = Country.new(country_code)
self.country_code = code.alpha2
else
errors.add(:country_code, :invalid_country_code)
end
def val_country_code
errors.add(:ident, :invalid_country_code) unless Country.new(ident_country_code)
errors.add(:ident, :invalid_country_code) unless Country.new(country_code)
end
def related_domain_descriptions