From 9bd832278c65ff4f45fe47dd21be0d4ce805aab9 Mon Sep 17 00:00:00 2001 From: Martin Lensment Date: Wed, 10 Jun 2015 16:28:09 +0300 Subject: [PATCH] Extend outzone_at and delete_at also on domain renew #2622 --- app/models/domain.rb | 8 ++++++++ app/models/epp/domain.rb | 2 ++ spec/epp/domain_spec.rb | 8 ++++++++ 3 files changed, 18 insertions(+) diff --git a/app/models/domain.rb b/app/models/domain.rb index f20ad568a..0c7b1f3b1 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -410,6 +410,14 @@ class Domain < ActiveRecord::Base def manage_automatic_statuses # domain_statuses.create(value: DomainStatus::DELETE_CANDIDATE) if delete_candidateable? + # if domain_statuses.exists?(value: DomainStatus::FORCE_DELETE) + # domain_statuses.where(value: DomainStatus::SERVER_RENEW_PROHIBITED).first_or_create + # domain_statuses.where(value: DomainStatus::SERVER_TRANSFER_PROHIBITED).first_or_create + # domain_statuses.where(value: DomainStatus::SERVER_UPDATE_PROHIBITED).first_or_create + # domain_statuses.where(value: DomainStatus::SERVER_MANUAL_INZONE).first_or_create + # domain_statuses.where(value: DomainStatus::PENDING_DELETE).first_or_create + # end + if domain_statuses.empty? && valid? domain_statuses.create(value: DomainStatus::OK) elsif domain_statuses.length > 1 || !valid? diff --git a/app/models/epp/domain.rb b/app/models/epp/domain.rb index 407d100e3..4e7dc7f62 100644 --- a/app/models/epp/domain.rb +++ b/app/models/epp/domain.rb @@ -434,6 +434,8 @@ class Epp::Domain < Domain p = self.class.convert_period_to_time(period, unit) self.valid_to = valid_to + p + self.outzone_at = outzone_at + p + self.delete_at = delete_at + p self.period = period self.period_unit = unit diff --git a/spec/epp/domain_spec.rb b/spec/epp/domain_spec.rb index 83f428a34..da1653e78 100644 --- a/spec/epp/domain_spec.rb +++ b/spec/epp/domain_spec.rb @@ -2070,7 +2070,10 @@ describe 'EPP Domain', epp: true do it 'should renew a expired domain' do domain.valid_to = Time.zone.now - 50.days + new_valid_to = domain.valid_to + 1.year domain.outzone_at = Time.zone.now - 50.days + new_outzone_at = domain.outzone_at + 1.year + new_delete_at = domain.delete_at + 1.year domain.save Domain.start_expire_period @@ -2095,6 +2098,11 @@ describe 'EPP Domain', epp: true do domain.domain_statuses.where(value: DomainStatus::EXPIRED).count.should == 0 domain.domain_statuses.where(value: DomainStatus::SERVER_HOLD).count.should == 0 domain.domain_statuses.where(value: DomainStatus::OK).count.should == 1 + + domain.reload + domain.valid_to.should be_within(5).of(new_valid_to) + domain.outzone_at.should be_within(5).of(new_outzone_at) + domain.delete_at.should be_within(5).of(new_delete_at) end it 'does not renew foreign domain' do