diff --git a/app/models/domain_status.rb b/app/models/domain_status.rb index 66908c16e..3f88de39f 100644 --- a/app/models/domain_status.rb +++ b/app/models/domain_status.rb @@ -122,40 +122,40 @@ class DomainStatus < ActiveRecord::Base class << self def admin_statuses [ - SERVER_HOLD, + SERVER_HOLD, # sync with admin_statuses_map - # SERVER_MANUAL_INZONE, - # SERVER_RENEW_PROHIBITED, + # SERVER_MANUAL_INZONE, + # SERVER_RENEW_PROHIBITED, # SERVER_TRANSFER_PROHIBITED, # SERVER_REGISTRANT_CHANGE_PROHIBITED, - # SERVER_ADMIN_CHANGE_PROHIBITED, + # SERVER_ADMIN_CHANGE_PROHIBITED, # SERVER_TECH_CHANGE_PROHIBITED, - SERVER_DELETE_PROHIBITED, + SERVER_DELETE_PROHIBITED, SERVER_UPDATE_PROHIBITED ] end def admin_statuses_map [ - ['Hold', SERVER_HOLD], + ['Hold', SERVER_HOLD], # sync with admin_statuses - # ['ManualInzone', SERVER_MANUAL_INZONE], + # ['ManualInzone', SERVER_MANUAL_INZONE], # [''], - # ['RenewProhibited', SERVER_RENEW_PROHIBITED], - # ['TransferProhibited', SERVER_TRANSFER_PROHIBITED], + # ['RenewProhibited', SERVER_RENEW_PROHIBITED], + ['TransferProhibited', SERVER_TRANSFER_PROHIBITED], # ['RegistrantChangeProhibited', SERVER_REGISTRANT_CHANGE_PROHIBITED], - # ['AdminChangeProhibited', SERVER_ADMIN_CHANGE_PROHIBITED], + # ['AdminChangeProhibited', SERVER_ADMIN_CHANGE_PROHIBITED], # ['TechChangeProhibited', SERVER_TECH_CHANGE_PROHIBITED], # [''], - ['UpdateProhibited', SERVER_UPDATE_PROHIBITED], + ['UpdateProhibited', SERVER_UPDATE_PROHIBITED], ['DeleteProhibited', SERVER_DELETE_PROHIBITED] ] end def admin_not_deletable_statuses [ - OK, - INACTIVE, + OK, + INACTIVE, FORCE_DELETE, PENDING_CREATE, PENDING_DELETE, diff --git a/app/models/epp/domain.rb b/app/models/epp/domain.rb index c2ac2bcaf..68e564f85 100644 --- a/app/models/epp/domain.rb +++ b/app/models/epp/domain.rb @@ -757,7 +757,9 @@ class Epp::Domain < Domain DomainStatus::PENDING_DELETE, DomainStatus::PENDING_RENEW, DomainStatus::PENDING_TRANSFER, - DomainStatus::FORCE_DELETE + DomainStatus::FORCE_DELETE, + DomainStatus::SERVER_TRANSFER_PROHIBITED, + DomainStatus::CLIENT_TRANSFER_PROHIBITED ]).empty? end diff --git a/spec/epp/domain_spec.rb b/spec/epp/domain_spec.rb index 9a9f5c1bc..1c6b86117 100644 --- a/spec/epp/domain_spec.rb +++ b/spec/epp/domain_spec.rb @@ -1767,6 +1767,23 @@ describe 'EPP Domain', epp: true do end end + it 'should not transfer when in prohibited status' do + domain.statuses = [DomainStatus::SERVER_TRANSFER_PROHIBITED] + domain.save + + pw = domain.auth_info + xml = domain_transfer_xml({ + name: { value: domain.name }, + authInfo: { pw: { value: pw } } + }) + + login_as :registrar2 do + response = epp_plain_request(xml) + response[:msg].should == 'Object status prohibits operation' + response[:result_code].should == '2304' + end + end + ### UPDATE ### it 'should update right away without update pending status' do existing_pw = domain.auth_info