From 38d3459e27c66900c330ffef77585d060a3f0fa7 Mon Sep 17 00:00:00 2001 From: Vladimir Krylov Date: Mon, 14 Dec 2015 17:01:16 +0200 Subject: [PATCH] Story#109590460 - Update Ident updatable attributes --- app/models/epp/contact.rb | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/models/epp/contact.rb b/app/models/epp/contact.rb index 01787d046..345f7ecee 100644 --- a/app/models/epp/contact.rb +++ b/app/models/epp/contact.rb @@ -161,14 +161,17 @@ class Epp::Contact < Contact ident_frame = frame.css('ident').first if ident_frame && ident_attr_valid?(ident_frame) - if ident_country_code.blank? && ident_type.in?(%w(org priv).freeze) + org_priv = %w(org priv).freeze + if ident_country_code.blank? && org_priv.include?(ident_type) && org_priv.in?(ident_frame.attr('type')) at.merge!(ident_country_code: ident_frame.attr('cc'), ident_type: ident_frame.attr('type')) - elsif ident_type == "birthday" && ident !=~ /\d{4}-\d{2}-\d{2}/ + elsif ident_type == "birthday" && ident !=~ /\d{4}-\d{2}-\d{2}/ && (Date.parse(ident) rescue false) at.merge!(ident: ident_frame.text) at.merge!(ident_country_code: ident_frame.attr('cc')) if ident_frame.attr('cc').present? - elsif ident_type.blank? && ident_type.blank? + elsif ident_type.blank? && ident_country_code.blank? at.merge!(ident_type: ident_frame.attr('type')) at.merge!(ident_country_code: ident_frame.attr('cc')) if ident_frame.attr('cc').present? + else + throw :epp_error, {code: '2306', msg: I18n.t(:ident_update_error)} end end end