mirror of
https://github.com/internetee/registry.git
synced 2025-06-06 20:55:44 +02:00
46 lines
1.4 KiB
Ruby
46 lines
1.4 KiB
Ruby
xml.epp_head do
|
|
xml.response do
|
|
@errors.each do |error|
|
|
x = error&.options
|
|
next if x.empty? || x == { value: nil } || x[:code].blank?
|
|
|
|
xml.result('code' => x[:code]) do
|
|
xml.msg(x[:msg], 'lang' => 'en')
|
|
model_name = resource ? resource.model_name.singular.sub('epp_','') : controller.controller_name.singularize
|
|
prefix = model_name == 'poll' ? 'changePoll' : "#{model_name}-ee"
|
|
|
|
xml.value("xmlns:#{model_name}" => Xsd::Schema.filename(for_prefix: prefix)) do
|
|
value = x[:value][:val]
|
|
attrs = {}
|
|
attrs["s"] = value if x[:value][:obj] == "status"
|
|
|
|
if (val = value).respond_to?(:each)
|
|
val.each do |el|
|
|
if el.kind_of?(Array)
|
|
xml.tag!("#{model_name}:#{x[:value][:obj]}") do
|
|
xml.tag!("#{model_name}:#{el[0]}", el[1], attrs)
|
|
end
|
|
else
|
|
xml.tag!("#{model_name}:#{x[:value][:obj]}", el, attrs)
|
|
end
|
|
end
|
|
else
|
|
xml.tag!("#{model_name}:#{x[:value][:obj]}", val, attrs)
|
|
end
|
|
end if x[:value]
|
|
|
|
x[:ext_values].each do |y|
|
|
xml.extValue do
|
|
xml.value do
|
|
# xml.tag!()
|
|
xml.reason y.to_s
|
|
end
|
|
end
|
|
end if x[:ext_values]
|
|
|
|
end
|
|
end
|
|
|
|
render('epp/shared/trID', builder: xml)
|
|
end
|
|
end
|