internetee/registry

View on GitHub
app/mailers/domain_delete_mailer.rb

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
class DomainDeleteMailer < ApplicationMailer
  def confirmation_request(domain:, registrar:, registrant:)
    @domain = DomainPresenter.new(domain: domain, view: view_context)
    @registrar = RegistrarPresenter.new(registrar: registrar, view: view_context)
    @confirmation_url = registrant_confirm_url(domain: domain, method: 'delete')

    subject = default_i18n_subject(domain_name: domain.name)
    mail(to: registrant.email, subject: subject)
  end

  def accepted(domain)
    @domain = domain

    subject = default_i18n_subject(domain: domain.name)
    mail(to: domain.registrant.email, subject: subject)
  end

  def rejected(domain)
    @domain = domain

    subject = default_i18n_subject(domain: domain.name)
    mail(to: domain.registrant.email, subject: subject)
  end

  def expired(domain)
    @domain = domain

    subject = default_i18n_subject(domain: domain.name)
    mail(to: domain.registrant.email, subject: subject)
  end

  def forced(domain:, registrar:, registrant:, template_name:)
    @domain = DomainPresenter.new(domain: domain, view: view_context)
    @registrar = RegistrarPresenter.new(registrar: registrar, view: view_context)
    @registrant = RegistrantPresenter.new(registrant: registrant, view: view_context)

    @redemption_grace_period = Setting.redemption_grace_period
    @expire_warning_period = Setting.expire_warning_period
    @delete_period_length = @redemption_grace_period + @expire_warning_period

    subject = default_i18n_subject(domain_name: domain.name)
    mail(from: forced_email_from,
         to: domain.force_delete_contact_emails,
         subject: subject,
         template_path: 'mailers/domain_delete_mailer/forced',
         template_name: template_name)
  end

  private

  def forced_email_from
    ENV['action_mailer_force_delete_from'] || self.class.default[:from]
  end
end