mirror of
https://github.com/internetee/registry.git
synced 2025-05-21 19:59:38 +02:00
Merge pull request #166 from internetee/story/118822101-epp-errors-new
Story/118822101 epp errors new
This commit is contained in:
commit
74a9b34ad0
6 changed files with 49 additions and 27 deletions
|
@ -656,16 +656,7 @@ class Domain < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
def pending_update_prohibited?
|
def pending_update_prohibited?
|
||||||
(statuses_was & [
|
(statuses_was & DomainStatus::UPDATE_PROHIBIT_STATES).present?
|
||||||
DomainStatus::PENDING_DELETE_CONFIRMATION,
|
|
||||||
DomainStatus::CLIENT_UPDATE_PROHIBITED,
|
|
||||||
DomainStatus::SERVER_UPDATE_PROHIBITED,
|
|
||||||
DomainStatus::PENDING_CREATE,
|
|
||||||
DomainStatus::PENDING_UPDATE,
|
|
||||||
DomainStatus::PENDING_DELETE,
|
|
||||||
DomainStatus::PENDING_RENEW,
|
|
||||||
DomainStatus::PENDING_TRANSFER
|
|
||||||
]).present?
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_pending_update
|
def set_pending_update
|
||||||
|
@ -689,17 +680,7 @@ class Domain < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
def pending_delete_prohibited?
|
def pending_delete_prohibited?
|
||||||
(statuses_was & [
|
(statuses_was & DomainStatus::DELETE_PROHIBIT_STATES).present?
|
||||||
DomainStatus::CLIENT_DELETE_PROHIBITED,
|
|
||||||
DomainStatus::SERVER_DELETE_PROHIBITED,
|
|
||||||
DomainStatus::CLIENT_UPDATE_PROHIBITED,
|
|
||||||
DomainStatus::SERVER_UPDATE_PROHIBITED,
|
|
||||||
DomainStatus::PENDING_CREATE,
|
|
||||||
DomainStatus::PENDING_RENEW,
|
|
||||||
DomainStatus::PENDING_TRANSFER,
|
|
||||||
DomainStatus::PENDING_UPDATE,
|
|
||||||
DomainStatus::PENDING_DELETE
|
|
||||||
]).present?
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# let's use positive method names
|
# let's use positive method names
|
||||||
|
|
|
@ -95,6 +95,29 @@ class DomainStatus < ActiveRecord::Base
|
||||||
SERVER_ADMIN_CHANGE_PROHIBITED, SERVER_TECH_CHANGE_PROHIBITED
|
SERVER_ADMIN_CHANGE_PROHIBITED, SERVER_TECH_CHANGE_PROHIBITED
|
||||||
]
|
]
|
||||||
|
|
||||||
|
UPDATE_PROHIBIT_STATES = [
|
||||||
|
DomainStatus::PENDING_DELETE_CONFIRMATION,
|
||||||
|
DomainStatus::CLIENT_UPDATE_PROHIBITED,
|
||||||
|
DomainStatus::SERVER_UPDATE_PROHIBITED,
|
||||||
|
DomainStatus::PENDING_CREATE,
|
||||||
|
DomainStatus::PENDING_UPDATE,
|
||||||
|
DomainStatus::PENDING_DELETE,
|
||||||
|
DomainStatus::PENDING_RENEW,
|
||||||
|
DomainStatus::PENDING_TRANSFER
|
||||||
|
]
|
||||||
|
|
||||||
|
DELETE_PROHIBIT_STATES = [
|
||||||
|
DomainStatus::CLIENT_DELETE_PROHIBITED,
|
||||||
|
DomainStatus::SERVER_DELETE_PROHIBITED,
|
||||||
|
DomainStatus::CLIENT_UPDATE_PROHIBITED,
|
||||||
|
DomainStatus::SERVER_UPDATE_PROHIBITED,
|
||||||
|
DomainStatus::PENDING_CREATE,
|
||||||
|
DomainStatus::PENDING_RENEW,
|
||||||
|
DomainStatus::PENDING_TRANSFER,
|
||||||
|
DomainStatus::PENDING_UPDATE,
|
||||||
|
DomainStatus::PENDING_DELETE
|
||||||
|
]
|
||||||
|
|
||||||
def epp_code_map
|
def epp_code_map
|
||||||
{
|
{
|
||||||
'2302' => [ # Object exists
|
'2302' => [ # Object exists
|
||||||
|
|
|
@ -11,7 +11,8 @@ class Epp::Domain < Domain
|
||||||
return if is_admin # this bad hack for 109086524, refactor later
|
return if is_admin # this bad hack for 109086524, refactor later
|
||||||
return true if is_transfer || is_renewal
|
return true if is_transfer || is_renewal
|
||||||
return unless update_prohibited? || delete_prohibited?
|
return unless update_prohibited? || delete_prohibited?
|
||||||
add_epp_error('2304', nil, nil, I18n.t(:object_status_prohibits_operation))
|
stat = (statuses & (DomainStatus::UPDATE_PROHIBIT_STATES + DomainStatus::DELETE_PROHIBIT_STATES)).first
|
||||||
|
add_epp_error('2304', 'status', stat, I18n.t(:object_status_prohibits_operation))
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -143,7 +144,7 @@ class Epp::Domain < Domain
|
||||||
code = registrant_frame.try(:text)
|
code = registrant_frame.try(:text)
|
||||||
if code.present?
|
if code.present?
|
||||||
if action == 'chg' && registrant_change_prohibited?
|
if action == 'chg' && registrant_change_prohibited?
|
||||||
add_epp_error('2304', nil, DomainStatus::SERVER_REGISTRANT_CHANGE_PROHIBITED, I18n.t(:object_status_prohibits_operation))
|
add_epp_error('2304', "status", DomainStatus::SERVER_REGISTRANT_CHANGE_PROHIBITED, I18n.t(:object_status_prohibits_operation))
|
||||||
end
|
end
|
||||||
regt = Registrant.find_by(code: code)
|
regt = Registrant.find_by(code: code)
|
||||||
if regt
|
if regt
|
||||||
|
|
|
@ -24,7 +24,7 @@ class Nameserver < ActiveRecord::Base
|
||||||
def epp_code_map
|
def epp_code_map
|
||||||
{
|
{
|
||||||
'2302' => [
|
'2302' => [
|
||||||
[:hostname, :taken, { value: { obj: 'hostAttr', val: hostname } }]
|
[:hostname, :taken, { value: { obj: 'hostAttr', val: {'hostName': hostname} } }]
|
||||||
],
|
],
|
||||||
'2005' => [
|
'2005' => [
|
||||||
[:hostname, :invalid, { value: { obj: 'hostAttr', val: hostname } }],
|
[:hostname, :invalid, { value: { obj: 'hostAttr', val: hostname } }],
|
||||||
|
|
|
@ -3,9 +3,26 @@ xml.epp_head do
|
||||||
@errors.each do |x|
|
@errors.each do |x|
|
||||||
xml.result('code' => x[:code]) do
|
xml.result('code' => x[:code]) do
|
||||||
xml.msg(x[:msg], 'lang' => 'en')
|
xml.msg(x[:msg], 'lang' => 'en')
|
||||||
|
model_name = resource ? resource.model_name.singular.sub('epp_','') : controller.controller_name.singularize
|
||||||
|
|
||||||
xml.value('xmlns:obj' => 'urn:ietf:params:xml:ns:obj') do
|
xml.value("xmlns:#{model_name}" => "https://epp.tld.ee/schema/#{model_name}-eis-1.0.xsd") do
|
||||||
xml.tag!("obj:#{x[:value][:obj]}", x[:value][:val])
|
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]
|
end if x[:value]
|
||||||
|
|
||||||
x[:ext_values].each do |y|
|
x[:ext_values].each do |y|
|
||||||
|
|
|
@ -134,7 +134,7 @@ describe 'EPP Domain', epp: true do
|
||||||
|
|
||||||
key = d.dnskeys.last
|
key = d.dnskeys.last
|
||||||
|
|
||||||
key.ds_alg.should == 3
|
key.ds_alg.should == 5
|
||||||
key.ds_key_tag.should_not be_blank
|
key.ds_key_tag.should_not be_blank
|
||||||
|
|
||||||
key.ds_digest_type.should == Setting.ds_algorithm
|
key.ds_digest_type.should == Setting.ds_algorithm
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue