diff --git a/app/jobs/domain_delete_confirm_job.rb b/app/jobs/domain_delete_confirm_job.rb index 153ef7012..9b30a6cbd 100644 --- a/app/jobs/domain_delete_confirm_job.rb +++ b/app/jobs/domain_delete_confirm_job.rb @@ -5,10 +5,12 @@ class DomainDeleteConfirmJob < Que::Job domain = Epp::Domain.find(domain_id) case action when RegistrantVerification::CONFIRMED + domain.poll_message!(:poll_pending_delete_confirmed_by_registrant) domain.apply_pending_delete! domain.clean_pendings! when RegistrantVerification::REJECTED DomainMailer.pending_delete_rejected_notification(domain).deliver_now + domain.poll_message!(:poll_pending_delete_rejected_by_registrant) domain.clean_pendings! end destroy # it's best to destroy the job in the same transaction diff --git a/app/jobs/domain_update_confirm_job.rb b/app/jobs/domain_update_confirm_job.rb index ab57e0a45..c668307a6 100644 --- a/app/jobs/domain_update_confirm_job.rb +++ b/app/jobs/domain_update_confirm_job.rb @@ -5,10 +5,12 @@ class DomainUpdateConfirmJob < Que::Job domain = Epp::Domain.find(domain_id) case action when RegistrantVerification::CONFIRMED + domain.poll_message!(:poll_pending_update_confirmed_by_registrant) domain.apply_pending_update! domain.clean_pendings! when RegistrantVerification::REJECTED DomainMailer.pending_update_rejected_notification_for_new_registrant(domain).deliver_now + domain.poll_message!(:poll_pending_update_rejected_by_registrant) domain.clean_pendings! end destroy # it's best to destroy the job in the same transaction diff --git a/app/models/domain.rb b/app/models/domain.rb index c6a0e7d1f..76a1f89fa 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -348,6 +348,14 @@ class Domain < ActiveRecord::Base true end + def poll_message!(message_key) + registrar.messages.create!( + body: I18n.t(message_key), + attached_obj_id: id, + attached_obj_type: self.class.to_s + ) + end + def preclean_pendings self.registrant_verification_token = nil self.registrant_verification_asked_at = nil diff --git a/config/locales/en.yml b/config/locales/en.yml index 1e72a76b2..5d11e4433 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -899,3 +899,8 @@ en: new_zone: 'New zone' edit_zone: 'Edit zone' there_are_count_domains_in_this_zone: 'There are %{count} domains in this zone' + poll_pending_update_confirmed_by_registrant: 'Registrant confirmed domain update' + poll_pending_update_rejected_by_registranti: 'Registrant rejected domain update' + poll_pending_delete_rejected_by_registrant: 'Registrant rejected domain deletion' + poll_pending_delete_confirmed_by_registrant: 'Registrant confirmed domain deletion.' + diff --git a/spec/models/domain_spec.rb b/spec/models/domain_spec.rb index 69b636d45..18e5f8f60 100644 --- a/spec/models/domain_spec.rb +++ b/spec/models/domain_spec.rb @@ -418,6 +418,12 @@ describe Domain do @domain.statuses = DomainStatus::OK # restore end + it 'should add poll message to registrar' do + domain = Fabricate(:domain) + domain.poll_message!(:poll_pending_update_confirmed_by_registrant) + domain.registrar.messages.first.body.should == 'Registrant confirmed domain update' + end + context 'about registrant update confirm' do before :all do @domain.registrant_verification_token = 123