diff --git a/app/models/domain.rb b/app/models/domain.rb index 772fdcf40..032164e25 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -545,7 +545,8 @@ class Domain < ActiveRecord::Base def set_validity_dates self.registered_at = Time.zone.now self.valid_from = Time.zone.now - self.valid_to = valid_from + self.class.convert_period_to_time(period, period_unit) + # we need + 1 day as this is more correct from juridical side + self.valid_to = valid_from.utc.beginning_of_day + self.class.convert_period_to_time(period, period_unit) + 1.day end # rubocop:disable Metrics/AbcSize @@ -604,16 +605,16 @@ class Domain < ActiveRecord::Base end def set_graceful_expired - self.outzone_at = valid_to + Setting.expire_warning_period.days - self.delete_at = (outzone_at + (Setting.redemption_grace_period.days + 1.day)).utc.beginning_of_day + self.outzone_at = (valid_to + Setting.expire_warning_period.days).utc.beginning_of_day + self.delete_at = (outzone_at + Setting.redemption_grace_period.days).utc.beginning_of_day self.statuses |= [DomainStatus::EXPIRED] end def set_expired # TODO: currently valid_to attribute update logic is open # self.valid_to = valid_from + self.class.convert_period_to_time(period, period_unit) - self.outzone_at = Time.zone.now + Setting.expire_warning_period.days - self.delete_at = (Time.zone.now + (Setting.redemption_grace_period.days + 1.day)).utc.beginning_of_day + self.outzone_at = (valid_to + Setting.expire_warning_period.days).utc.beginning_of_day + self.delete_at = (outzone_at + Setting.redemption_grace_period.days).utc.beginning_of_day statuses << DomainStatus::EXPIRED end