From c0f9a0105eb32bdc5a86123fe875b064bc2e7144 Mon Sep 17 00:00:00 2001 From: Vladimir Krylov Date: Wed, 6 Jan 2016 17:30:05 +0200 Subject: [PATCH] Story#111065230 - send expiration_reminder Mail 2 days after --- app/mailers/domain_mailer.rb | 4 ++-- app/models/domain.rb | 2 +- app/views/admin/settings/index.haml | 1 + config/initializers/initial_settings.rb | 1 + 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/mailers/domain_mailer.rb b/app/mailers/domain_mailer.rb index 66533e316..443ac6fa9 100644 --- a/app/mailers/domain_mailer.rb +++ b/app/mailers/domain_mailer.rb @@ -97,8 +97,8 @@ class DomainMailer < ApplicationMailer def expiration_reminder(domain_id) @domain = Domain.find_by(id: domain_id) - return unless @domain - return if whitelist_blocked?(@domain.registrant.email) + return if @domain.nil? || !@domain.statuses.include?(DomainStatus::EXPIRED) || whitelist_blocked?(@domain.registrant.email) + mail(to: format(@domain.registrant.email), subject: "#{I18n.t(:expiration_remind_subject, name: @domain.name)} [#{@domain.name}]") diff --git a/app/models/domain.rb b/app/models/domain.rb index 05ffafc4d..ca819783b 100644 --- a/app/models/domain.rb +++ b/app/models/domain.rb @@ -264,7 +264,7 @@ class Domain < ActiveRecord::Base domains.each do |domain| next unless domain.expirable? domain.set_graceful_expired - DomainMailer.expiration_reminder(domain.id).deliver + DomainMailer.expiration_reminder(domain.id).deliver_in(Setting.redemption_grace_period.days) STDOUT << "#{Time.zone.now.utc} Domain.start_expire_period: ##{domain.id} (#{domain.name}) #{domain.changes}\n" unless Rails.env.test? domain.save end diff --git a/app/views/admin/settings/index.haml b/app/views/admin/settings/index.haml index ede30e979..f03ca66bc 100644 --- a/app/views/admin/settings/index.haml +++ b/app/views/admin/settings/index.haml @@ -36,6 +36,7 @@ = render 'setting_row', var: :days_to_renew_domain_before_expire = render 'setting_row', var: :expire_warning_period = render 'setting_row', var: :redemption_grace_period + = render 'setting_row', var: :expiration_reminder_mail .panel.panel-default .panel-heading.clearfix diff --git a/config/initializers/initial_settings.rb b/config/initializers/initial_settings.rb index 812641a09..193d179b0 100644 --- a/config/initializers/initial_settings.rb +++ b/config/initializers/initial_settings.rb @@ -37,6 +37,7 @@ if con.present? && con.table_exists?('settings') Setting.save_default(:days_to_renew_domain_before_expire, 90) Setting.save_default(:expire_warning_period, 15) Setting.save_default(:redemption_grace_period, 30) + Setting.save_default(:expiration_reminder_mail, 2) Setting.save_default(:registrar_ip_whitelist_enabled, true) Setting.save_default(:api_ip_whitelist_enabled, true)