mirror of
https://github.com/internetee/registry.git
synced 2025-05-17 09:57:23 +02:00
Value returning with error message
This commit is contained in:
parent
3fc3bfc1c4
commit
e4ac417bde
5 changed files with 28 additions and 3 deletions
|
@ -35,7 +35,19 @@ module Epp::Common
|
||||||
def handle_errors(error_code_map, obj)
|
def handle_errors(error_code_map, obj)
|
||||||
obj.errors.each do |key, err|
|
obj.errors.each do |key, err|
|
||||||
error_code_map.each do |code, values|
|
error_code_map.each do |code, values|
|
||||||
epp_errors << {code: code, msg: err} and break if values.any? {|x| obj.errors.added?(key, x) }
|
if err.is_a?(Hash)
|
||||||
|
epp_errors << {
|
||||||
|
code: code,
|
||||||
|
msg: err[:msg],
|
||||||
|
value: {obj: err[:obj], val: err[:val]},
|
||||||
|
} and break if values.any? {|x| I18n.t("errors.messages.#{x}") == err[:msg] }
|
||||||
|
else
|
||||||
|
epp_errors << {
|
||||||
|
code: code,
|
||||||
|
msg: err,
|
||||||
|
} and break if values.any? {|x| obj.errors.added?(key, x) }
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -33,7 +33,13 @@ class Domain < ActiveRecord::Base
|
||||||
v.each do |x|
|
v.each do |x|
|
||||||
contact = Contact.find_by(code: x[:contact])
|
contact = Contact.find_by(code: x[:contact])
|
||||||
attach_contact(k, contact) and next if contact
|
attach_contact(k, contact) and next if contact
|
||||||
errors.add(:domain_contacts, I18n.t('errors.messages.epp_contact_not_found'))
|
|
||||||
|
# Detailed error message with value to display in EPP response
|
||||||
|
errors.add(:domain_contacts, {
|
||||||
|
obj: 'contact',
|
||||||
|
val: x[:contact],
|
||||||
|
msg: I18n.t('errors.messages.epp_contact_not_found')
|
||||||
|
})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,10 @@ xml.epp_head do
|
||||||
xml.result('code' => x[:code]) do
|
xml.result('code' => x[:code]) do
|
||||||
xml.msg(x[:msg], 'lang' => 'en')
|
xml.msg(x[:msg], 'lang' => 'en')
|
||||||
|
|
||||||
|
xml.value('xmlns:obj' => 'urn:ietf:params:xml:ns:obj') do
|
||||||
|
xml.tag!("obj:#{x[:value][:obj]}", x[:value][:val])
|
||||||
|
end if x[:value]
|
||||||
|
|
||||||
x[:ext_values].each do |y|
|
x[:ext_values].each do |y|
|
||||||
xml.extValue do
|
xml.extValue do
|
||||||
xml.value do
|
xml.value do
|
||||||
|
|
|
@ -12,12 +12,15 @@ describe 'EPP Domain', epp: true do
|
||||||
response = epp_request('domains/create.xml')
|
response = epp_request('domains/create.xml')
|
||||||
expect(response[:results][0][:result_code]).to eq('2303')
|
expect(response[:results][0][:result_code]).to eq('2303')
|
||||||
expect(response[:results][0][:msg]).to eq('Contact was not found')
|
expect(response[:results][0][:msg]).to eq('Contact was not found')
|
||||||
|
expect(response[:results][0][:value]).to eq('sh8013')
|
||||||
|
|
||||||
expect(response[:results][1][:result_code]).to eq('2303')
|
expect(response[:results][1][:result_code]).to eq('2303')
|
||||||
expect(response[:results][1][:msg]).to eq('Contact was not found')
|
expect(response[:results][1][:msg]).to eq('Contact was not found')
|
||||||
|
expect(response[:results][1][:value]).to eq('sh801333')
|
||||||
|
|
||||||
expect(response[:results][2][:result_code]).to eq('2303')
|
expect(response[:results][2][:result_code]).to eq('2303')
|
||||||
expect(response[:results][2][:msg]).to eq('Contact was not found')
|
expect(response[:results][2][:msg]).to eq('Contact was not found')
|
||||||
|
expect(response[:results][2][:value]).to eq('sh8013')
|
||||||
|
|
||||||
expect(response[:clTRID]).to eq('ABC-12345')
|
expect(response[:clTRID]).to eq('ABC-12345')
|
||||||
end
|
end
|
||||||
|
|
|
@ -31,7 +31,7 @@ module Epp
|
||||||
}
|
}
|
||||||
|
|
||||||
res.css('epp response result').each do |x|
|
res.css('epp response result').each do |x|
|
||||||
obj[:results] << {result_code: x[:code], msg: x.css('msg').text}
|
obj[:results] << {result_code: x[:code], msg: x.css('msg').text, value: x.css('value > *').try(:first).try(:text)}
|
||||||
end
|
end
|
||||||
|
|
||||||
obj[:result_code] = obj[:results][0][:result_code]
|
obj[:result_code] = obj[:results][0][:result_code]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue