This commit is contained in:
Martin Lensment 2014-08-06 14:44:34 +03:00
parent c838e0f574
commit b6e61f5bda
3 changed files with 11 additions and 25 deletions

View file

@ -36,12 +36,12 @@ module Epp::Common
obj.errors.each do |key, msg| obj.errors.each do |key, msg|
if msg.is_a?(Hash) if msg.is_a?(Hash)
epp_errors << { epp_errors << {
code: find_code(msg[:msg]), code: find_code(error_code_map, msg[:msg]),
msg: msg[:msg], msg: msg[:msg],
value: {obj: msg[:obj], val: msg[:val]}, value: {obj: msg[:obj], val: msg[:val]},
} }
else else
next unless code = find_code(msg) next unless code = find_code(error_code_map, msg)
epp_errors << { epp_errors << {
code: code, code: code,
msg: msg msg: msg
@ -50,7 +50,7 @@ module Epp::Common
end end
end end
def find_code(msg) def find_code(error_code_map, msg)
error_code_map.each do |code, values| error_code_map.each do |code, values|
return code if values.include?(msg) return code if values.include?(msg)
end end

View file

@ -1,6 +1,6 @@
module Epp::ContactsHelper module Epp::ContactsHelper
def create_contact def create_contact
@contact = Contact.new( contact_and_address_attributes ) @contact = Contact.new( contact_and_address_attributes )
stamp @contact stamp @contact
if @contact.save if @contact.save
render '/epp/contacts/create' render '/epp/contacts/create'
@ -40,11 +40,11 @@ module Epp::ContactsHelper
def info_contact def info_contact
#TODO do we reject contact without authInfo or display less info? #TODO do we reject contact without authInfo or display less info?
#TODO add data missing from contacts/info builder ( marked with 'if false' in said view ) #TODO add data missing from contacts/info builder ( marked with 'if false' in said view )
current_epp_user current_epp_user
ph = params_hash['epp']['command']['info']['info'] ph = params_hash['epp']['command']['info']['info']
@contact = Contact.where(code: ph[:id]).first @contact = Contact.where(code: ph[:id]).first
case has_rights case has_rights
when true when true
render 'epp/contacts/info' render 'epp/contacts/info'
@ -67,7 +67,7 @@ module Epp::ContactsHelper
ident: ph[:ident], ident: ph[:ident],
ident_type: ident_type, ident_type: ident_type,
email: ph[:email], email: ph[:email],
name: ph[:postalInfo][:name], name: ph[:postalInfo][:name],
org_name: ph[:postalInfo][:org], org_name: ph[:postalInfo][:org],
address_attributes: { address_attributes: {
country_id: Country.find_by(iso: ph[:postalInfo][:addr][:cc]), country_id: Country.find_by(iso: ph[:postalInfo][:addr][:cc]),
@ -85,7 +85,7 @@ module Epp::ContactsHelper
end end
def tidy_street def tidy_street
street = params_hash['epp']['command']['create']['create'][:postalInfo][:addr][:street] street = params_hash['epp']['command']['create']['create'][:postalInfo][:addr][:street]
return street if street.is_a? String return street if street.is_a? String
return street.join(',') if street.is_a? Array return street.join(',') if street.is_a? Array
return nil return nil
@ -102,11 +102,8 @@ module Epp::ContactsHelper
def handle_contact_errors # handle_errors conflicted with domain logic def handle_contact_errors # handle_errors conflicted with domain logic
handle_epp_errors({ handle_epp_errors({
'2302' => [:epp_id_taken], '2302' => ['Contact id already exists'],
'2303' => [:not_found, :epp_obj_does_not_exist] '2303' => [:not_found, :epp_obj_does_not_exist]
}, @contact },@contact)
)
end end
end end

View file

@ -60,21 +60,10 @@ module Epp::DomainsHelper
def handle_errors def handle_errors
handle_epp_errors({ handle_epp_errors({
'2302' => [:epp_domain_taken, :reserved],
'2306' => [:blank, [:out_of_range, {min: 1, max: 13}]],
'2303' => [:not_found],
'2005' => [:hostname_invalid, :ip_invalid]
}, @domain
)
end
def error_code_map
{
'2302' => ['Domain name already exists', 'Domain name is reserved or restricted'], '2302' => ['Domain name already exists', 'Domain name is reserved or restricted'],
'2306' => ['Registrant is missing', 'Nameservers count must be between 1-13', 'Admin contact is missing'], '2306' => ['Registrant is missing', 'Nameservers count must be between 1-13', 'Admin contact is missing'],
'2303' => ['Contact was not found'], '2303' => ['Contact was not found'],
'2005' => ['Hostname is invalid', 'IP is invalid'] '2005' => ['Hostname is invalid', 'IP is invalid']
} }, @domain)
end end
end end