From 3fc3bfc1c4db03bfe4ee55391c357ec2424dfb75 Mon Sep 17 00:00:00 2001 From: Martin Lensment Date: Fri, 1 Aug 2014 12:06:32 +0300 Subject: [PATCH] Refactor error handling to common --- app/controllers/concerns/epp/common.rb | 8 ++++++++ app/helpers/epp/domains_helper.rb | 12 ++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/app/controllers/concerns/epp/common.rb b/app/controllers/concerns/epp/common.rb index 72d5a3995..034029044 100644 --- a/app/controllers/concerns/epp/common.rb +++ b/app/controllers/concerns/epp/common.rb @@ -32,6 +32,14 @@ module Epp::Common @current_epp_user ||= EppUser.find(epp_session[:epp_user_id]) if epp_session[:epp_user_id] end + def handle_errors(error_code_map, obj) + obj.errors.each do |key, err| + error_code_map.each do |code, values| + epp_errors << {code: code, msg: err} and break if values.any? {|x| obj.errors.added?(key, x) } + end + end + end + def validate_request type = OBJECT_TYPES[params_hash['epp']['xmlns:ns2']] return unless type diff --git a/app/helpers/epp/domains_helper.rb b/app/helpers/epp/domains_helper.rb index 316cdc254..706f9eb24 100644 --- a/app/helpers/epp/domains_helper.rb +++ b/app/helpers/epp/domains_helper.rb @@ -20,6 +20,7 @@ module Epp::DomainsHelper end ### HELPER METHODS ### + private def domain_create_params ph = params_hash['epp']['command']['create']['create'] @@ -50,17 +51,12 @@ module Epp::DomainsHelper end def handle_errors - error_code_map = { + super({ '2302' => [:epp_domain_taken, :epp_domain_reserved], '2306' => [:blank], '2303' => [:epp_contact_not_found] - } - - @domain.errors.each do |key, err| - error_code_map.each do |code, values| - epp_errors << {code: code, msg: err} and break if values.any? {|x| @domain.errors.added?(key, x) } - end - end + }, @domain + ) end end