From c637d3f8564cd901258d752c99dd4658fbe1ace7 Mon Sep 17 00:00:00 2001 From: Priit Tark Date: Mon, 10 Aug 2015 13:20:04 +0300 Subject: [PATCH 1/5] require email format gem when testing --- config/application.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/application.rb b/config/application.rb index 3fe81b40c..7734cc6e9 100644 --- a/config/application.rb +++ b/config/application.rb @@ -74,3 +74,5 @@ module Registry } end end + +require 'validates_email_format_of' From 86900fb839fc84b8d2dda887b152ab119dad3706 Mon Sep 17 00:00:00 2001 From: Priit Tark Date: Mon, 10 Aug 2015 14:00:39 +0300 Subject: [PATCH 2/5] Added poll messages #2557 --- app/jobs/domain_delete_confirm_job.rb | 2 ++ app/jobs/domain_update_confirm_job.rb | 2 ++ app/models/domain.rb | 8 ++++++++ config/locales/en.yml | 5 +++++ spec/models/domain_spec.rb | 6 ++++++ 5 files changed, 23 insertions(+) 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 From 99dc2b1483d34d1c5062748465f532ed83f2b643 Mon Sep 17 00:00:00 2001 From: Priit Tark Date: Mon, 10 Aug 2015 14:31:17 +0300 Subject: [PATCH 3/5] Updated pending poll message #2557 --- app/jobs/domain_delete_confirm_job.rb | 2 +- app/jobs/domain_update_confirm_job.rb | 2 +- app/models/domain.rb | 2 +- spec/models/domain_spec.rb | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/jobs/domain_delete_confirm_job.rb b/app/jobs/domain_delete_confirm_job.rb index 9b30a6cbd..5d1e27bb6 100644 --- a/app/jobs/domain_delete_confirm_job.rb +++ b/app/jobs/domain_delete_confirm_job.rb @@ -2,7 +2,7 @@ class DomainDeleteConfirmJob < Que::Job def run(domain_id, action) # it's recommended to keep transaction against job table as short as possible. ActiveRecord::Base.transaction do - domain = Epp::Domain.find(domain_id) + domain = Epp::Domain.find(domain_id).include(:registrar) case action when RegistrantVerification::CONFIRMED domain.poll_message!(:poll_pending_delete_confirmed_by_registrant) diff --git a/app/jobs/domain_update_confirm_job.rb b/app/jobs/domain_update_confirm_job.rb index c668307a6..975ad885c 100644 --- a/app/jobs/domain_update_confirm_job.rb +++ b/app/jobs/domain_update_confirm_job.rb @@ -2,7 +2,7 @@ class DomainUpdateConfirmJob < Que::Job def run(domain_id, action) # it's recommended to keep transaction against job table as short as possible. ActiveRecord::Base.transaction do - domain = Epp::Domain.find(domain_id) + domain = Epp::Domain.find(domain_id).include(:registrar) case action when RegistrantVerification::CONFIRMED domain.poll_message!(:poll_pending_update_confirmed_by_registrant) diff --git a/app/models/domain.rb b/app/models/domain.rb index 76a1f89fa..45924e5b7 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -350,7 +350,7 @@ class Domain < ActiveRecord::Base def poll_message!(message_key) registrar.messages.create!( - body: I18n.t(message_key), + body: "#{I18n.t(message_key)}: #{name}", attached_obj_id: id, attached_obj_type: self.class.to_s ) diff --git a/spec/models/domain_spec.rb b/spec/models/domain_spec.rb index 18e5f8f60..0befd7e09 100644 --- a/spec/models/domain_spec.rb +++ b/spec/models/domain_spec.rb @@ -419,9 +419,9 @@ describe Domain do end it 'should add poll message to registrar' do - domain = Fabricate(:domain) + domain = Fabricate(:domain, name: 'testpollmessage123.ee') domain.poll_message!(:poll_pending_update_confirmed_by_registrant) - domain.registrar.messages.first.body.should == 'Registrant confirmed domain update' + domain.registrar.messages.first.body.should == 'Registrant confirmed domain update: testpollmessage123.ee' end context 'about registrant update confirm' do From ce63f40b4c166ffe9c3e89372497120fc799211e Mon Sep 17 00:00:00 2001 From: Priit Tark Date: Mon, 10 Aug 2015 14:49:35 +0300 Subject: [PATCH 4/5] Removed job includes --- app/jobs/domain_delete_confirm_job.rb | 2 +- app/jobs/domain_update_confirm_job.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/jobs/domain_delete_confirm_job.rb b/app/jobs/domain_delete_confirm_job.rb index 5d1e27bb6..9b30a6cbd 100644 --- a/app/jobs/domain_delete_confirm_job.rb +++ b/app/jobs/domain_delete_confirm_job.rb @@ -2,7 +2,7 @@ class DomainDeleteConfirmJob < Que::Job def run(domain_id, action) # it's recommended to keep transaction against job table as short as possible. ActiveRecord::Base.transaction do - domain = Epp::Domain.find(domain_id).include(:registrar) + domain = Epp::Domain.find(domain_id) case action when RegistrantVerification::CONFIRMED domain.poll_message!(:poll_pending_delete_confirmed_by_registrant) diff --git a/app/jobs/domain_update_confirm_job.rb b/app/jobs/domain_update_confirm_job.rb index 975ad885c..c668307a6 100644 --- a/app/jobs/domain_update_confirm_job.rb +++ b/app/jobs/domain_update_confirm_job.rb @@ -2,7 +2,7 @@ class DomainUpdateConfirmJob < Que::Job def run(domain_id, action) # it's recommended to keep transaction against job table as short as possible. ActiveRecord::Base.transaction do - domain = Epp::Domain.find(domain_id).include(:registrar) + domain = Epp::Domain.find(domain_id) case action when RegistrantVerification::CONFIRMED domain.poll_message!(:poll_pending_update_confirmed_by_registrant) From c8ab2f06ca9c14484aa72742f88f4fbfe9e299e1 Mon Sep 17 00:00:00 2001 From: Priit Tark Date: Mon, 10 Aug 2015 14:52:39 +0300 Subject: [PATCH 5/5] Update translation #2557 --- config/locales/en.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/en.yml b/config/locales/en.yml index 5d11e4433..41def004e 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -902,5 +902,5 @@ en: 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.' + poll_pending_delete_confirmed_by_registrant: 'Registrant confirmed domain deletion'