From 827e3f8a0d0d819a3a73c0c6ce079fac569baf02 Mon Sep 17 00:00:00 2001 From: Martin Lensment Date: Tue, 25 Aug 2015 10:50:31 +0300 Subject: [PATCH] Add force delete message to poll #2882 --- app/models/domain.rb | 9 ++++++++- .../registrar/xml_consoles/epp_requests/poll/poll.xml | 7 +++++++ app/views/registrar/xml_consoles/show.haml | 6 +++--- config/locales/en.yml | 1 + spec/epp/domain_spec.rb | 7 +++++++ spec/models/domain_spec.rb | 4 ++++ 6 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 app/views/registrar/xml_consoles/epp_requests/poll/poll.xml diff --git a/app/models/domain.rb b/app/models/domain.rb index 0d7fb4c56..4f098ba46 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -577,7 +577,14 @@ class Domain < ActiveRecord::Base end self.force_delete_at = Time.zone.now + Setting.redemption_grace_period.days unless force_delete_at - save(validate: false) + transaction do + save!(validate: false) + registrar.messages.create!( + body: I18n.t('force_delete_set_on_domain', domain: name) + ) + return true + end + false end # rubocop:enable Metrics/AbcSize diff --git a/app/views/registrar/xml_consoles/epp_requests/poll/poll.xml b/app/views/registrar/xml_consoles/epp_requests/poll/poll.xml new file mode 100644 index 000000000..08c097196 --- /dev/null +++ b/app/views/registrar/xml_consoles/epp_requests/poll/poll.xml @@ -0,0 +1,7 @@ + + + + + ABC-12345 + + diff --git a/app/views/registrar/xml_consoles/show.haml b/app/views/registrar/xml_consoles/show.haml index b80d49c45..4b07f6aec 100644 --- a/app/views/registrar/xml_consoles/show.haml +++ b/app/views/registrar/xml_consoles/show.haml @@ -30,9 +30,9 @@ %a.js-load-xml{href: 'javascript:void(0)', data: {obj: 'domain', epp_action: 'delete'}} Delete - %h4 Keyrelay - %a.js-load-xml{href: 'javascript:void(0)', data: {obj: 'keyrelay', epp_action: 'keyrelay'}} - Keyrelay + %h4 Poll + %a.js-load-xml{href: 'javascript:void(0)', data: {obj: 'poll', epp_action: 'poll'}} + Poll %h4 Contact %a.js-load-xml{href: 'javascript:void(0)', data: {obj: 'contact', epp_action: 'create'}} diff --git a/config/locales/en.yml b/config/locales/en.yml index a9c2bc4f2..900ea3b8f 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -913,3 +913,4 @@ en: created_at_from: 'Created at from' created_at_until: 'Created at until' is_registrant: 'Is registrant' + force_delete_set_on_domain: 'Force delete set on domain %{domain}' diff --git a/spec/epp/domain_spec.rb b/spec/epp/domain_spec.rb index e88bb3a6e..2c242fb14 100644 --- a/spec/epp/domain_spec.rb +++ b/spec/epp/domain_spec.rb @@ -3096,5 +3096,12 @@ describe 'EPP Domain', epp: true do name[:avail].should == '0' reason.text.should == 'invalid format' end + + ### POLL ### + it 'should show force delete in poll' do + domain.set_force_delete + response = epp_plain_request(@epp_xml.session.poll) + binding.pry + end end end diff --git a/spec/models/domain_spec.rb b/spec/models/domain_spec.rb index d2c7c8d4e..e76529f27 100644 --- a/spec/models/domain_spec.rb +++ b/spec/models/domain_spec.rb @@ -224,6 +224,10 @@ describe Domain do fda = Time.zone.now + Setting.redemption_grace_period.days @domain.force_delete_at.should be_within(20).of(fda) + @domain.registrar.messages.count.should == 1 + m = @domain.registrar.messages.first + m.body.should == "Force delete set on domain #{@domain.name}" + @domain.unset_force_delete @domain.statuses.should == ['ok']