From 897a10f47b2696b0a418b07d00db63b0f4473017 Mon Sep 17 00:00:00 2001 From: Priit Tark Date: Mon, 18 May 2015 17:26:35 +0300 Subject: [PATCH] Updated domain pending delete --- .../registrar/domains_controller.rb | 3 +-- app/models/epp/domain.rb | 2 ++ spec/epp/domain_spec.rb | 18 ++++++++++++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/app/controllers/registrar/domains_controller.rb b/app/controllers/registrar/domains_controller.rb index 37ed3bdae..d7e7fa34a 100644 --- a/app/controllers/registrar/domains_controller.rb +++ b/app/controllers/registrar/domains_controller.rb @@ -84,8 +84,7 @@ class Registrar::DomainsController < Registrar::DeppController # EPP controller @data = @domain.delete(params[:domain]) @results = @data.css('result') if response_ok? - params[:domain_name] = nil - render 'info_index' + redirect_to info_registrar_domains_url(domain_name: params[:domain][:name]) else params[:domain_name] = params[:domain][:name] render 'delete' diff --git a/app/models/epp/domain.rb b/app/models/epp/domain.rb index 3e2269287..8a3dbc401 100644 --- a/app/models/epp/domain.rb +++ b/app/models/epp/domain.rb @@ -411,6 +411,8 @@ class Epp::Domain < Domain end def epp_destroy(frame) + return false unless valid? + if frame.css('delete').attr('verified').to_s.downcase != 'yes' registrant_verification_asked! pending_delete! diff --git a/spec/epp/domain_spec.rb b/spec/epp/domain_spec.rb index 6d6788184..4078f5dd0 100644 --- a/spec/epp/domain_spec.rb +++ b/spec/epp/domain_spec.rb @@ -2115,6 +2115,24 @@ describe 'EPP Domain', epp: true do response[:msg].should == 'Domain status prohibits operation' end + it 'does not delete domain with pending delete' do + domain.domain_statuses.create(value: DomainStatus::PENDING_DELETE) + + response = epp_plain_request(@epp_xml.domain.delete({ + name: { value: domain.name } + }, { + _anonymus: [ + legalDocument: { + value: 'JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0Zp==', + attrs: { type: 'pdf' } + } + ] + }), :xml) + + response[:msg].should == 'Object status prohibits operation' + response[:result_code].should == '2304' + end + it 'does not delete domain without legal document' do response = epp_plain_request(@epp_xml.domain.delete(name: { value: 'example.ee' }), :xml) response[:result_code].should == '2003'