mirror of
https://github.com/internetee/registry.git
synced 2025-08-04 08:52:04 +02:00
Merge remote-tracking branch 'origin/master' into 1177-bulk-force-delete
This commit is contained in:
commit
6eddbb81ad
12 changed files with 222 additions and 28 deletions
|
@ -4,6 +4,10 @@ class DomainExpireEmailJob < Que::Job
|
|||
|
||||
return if domain.registered?
|
||||
|
||||
DomainExpireMailer.expired(domain: domain, registrar: domain.registrar).deliver_now
|
||||
if domain.force_delete_scheduled?
|
||||
DomainExpireMailer.expired_soft(domain: domain, registrar: domain.registrar).deliver_now
|
||||
else
|
||||
DomainExpireMailer.expired(domain: domain, registrar: domain.registrar).deliver_now
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,19 +1,38 @@
|
|||
class DomainExpireMailer < ApplicationMailer
|
||||
attr_accessor :domain, :registrar
|
||||
|
||||
def expired(domain:, registrar:)
|
||||
@domain = domain_presenter(domain: domain)
|
||||
@registrar = registrar_presenter(registrar: registrar)
|
||||
process_mail(domain: domain, registrar: registrar, method_name: __method__.to_s)
|
||||
end
|
||||
|
||||
recipient = filter_invalid_emails(emails: domain.primary_contact_emails, domain: domain)
|
||||
subject = default_i18n_subject(domain_name: domain.name)
|
||||
|
||||
logger.info("Send DomainExpireMailer#expired email for domain #{domain.name} (##{domain.id})" \
|
||||
" to #{recipient.join(', ')}")
|
||||
|
||||
mail(to: recipient, subject: subject)
|
||||
def expired_soft(domain:, registrar:)
|
||||
process_mail(domain: domain, registrar: registrar, method_name: __method__.to_s)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def process_mail(domain:, registrar:, method_name:)
|
||||
init(domain, registrar)
|
||||
|
||||
logger.info("Send DomainExpireMailer##{method_name} email for #{domain.name} (##{domain.id})" \
|
||||
" to #{recipient(domain).join(', ')}")
|
||||
|
||||
mail(to: recipient(domain), subject: subject(method_name))
|
||||
end
|
||||
|
||||
def init(domain, registrar)
|
||||
@domain = domain_presenter(domain: domain)
|
||||
@registrar = registrar_presenter(registrar: registrar)
|
||||
end
|
||||
|
||||
def recipient(domain)
|
||||
filter_invalid_emails(emails: domain.primary_contact_emails, domain: @domain)
|
||||
end
|
||||
|
||||
def subject(method_name)
|
||||
I18n.t("domain_expire_mailer.#{method_name}.subject", domain_name: @domain.name)
|
||||
end
|
||||
|
||||
def domain_presenter(domain:)
|
||||
DomainPresenter.new(domain: domain, view: view_context)
|
||||
end
|
||||
|
|
|
@ -85,8 +85,8 @@ module Concerns::Domain::ForceDelete # rubocop:disable Metrics/ModuleLength
|
|||
end
|
||||
|
||||
def cancel_force_delete
|
||||
restore_statuses_before_force_delete
|
||||
remove_force_delete_statuses
|
||||
restore_statuses_before_force_delete
|
||||
clear_force_delete_data
|
||||
self.force_delete_date = nil
|
||||
self.force_delete_start = nil
|
||||
|
@ -124,7 +124,7 @@ module Concerns::Domain::ForceDelete # rubocop:disable Metrics/ModuleLength
|
|||
end
|
||||
|
||||
def preserve_current_statuses_for_force_delete
|
||||
self.statuses_before_force_delete = statuses.clone
|
||||
update(statuses_before_force_delete: statuses)
|
||||
end
|
||||
|
||||
def restore_statuses_before_force_delete
|
||||
|
|
|
@ -54,14 +54,25 @@ class RegistrantUser < User
|
|||
username.split.second
|
||||
end
|
||||
|
||||
def update_related_contacts
|
||||
contacts = Contact.where(ident: ident, ident_country_code: country.alpha2)
|
||||
.where('UPPER(name) != UPPER(?)', username)
|
||||
|
||||
contacts.each do |contact|
|
||||
contact.update(name: username)
|
||||
action = actions.create!(contact: contact, operation: :update)
|
||||
contact.registrar.notify(action)
|
||||
end
|
||||
end
|
||||
|
||||
class << self
|
||||
def find_or_create_by_api_data(user_data = {})
|
||||
return false unless user_data[:ident]
|
||||
return false unless user_data[:first_name]
|
||||
return false unless user_data[:last_name]
|
||||
|
||||
user_data.each_value { |v| v.upcase! if v.is_a?(String) }
|
||||
user_data[:country_code] ||= 'EE'
|
||||
%i[ident country_code].each { |f| user_data[f].upcase! if user_data[f].is_a?(String) }
|
||||
|
||||
find_or_create_by_user_data(user_data)
|
||||
end
|
||||
|
@ -91,6 +102,7 @@ class RegistrantUser < User
|
|||
user.username = "#{user_data[:first_name]} #{user_data[:last_name]}"
|
||||
user.save
|
||||
|
||||
user.update_related_contacts
|
||||
user
|
||||
end
|
||||
end
|
||||
|
|
48
app/views/mailers/domain_expire_mailer/expired_soft.html.erb
Normal file
48
app/views/mailers/domain_expire_mailer/expired_soft.html.erb
Normal file
|
@ -0,0 +1,48 @@
|
|||
<p>Domeen <%= @domain.name %> on aegunud ning suunatud kustutusmenetlusse kuna oleme tuvastanud domeeniga seotud kontaktides olulisi puudusi.</p>
|
||||
|
||||
<p>Lugupeetud .ee domeeni registreerija/halduskontakt</p>
|
||||
|
||||
<p>Domeeninimi <%= @domain.name %> on aegunud ja ei ole alates <%= @domain.on_hold_date %> internetis kättesaadav. Domeeniga on seotud puudulike kontakti objekte, milles tulenevalt on Eesti Interneti SA blokeerinud domeeni pikendamise ja registripidaja vahetuse, kuniks kontaktandmed korrastatakse. Andmete korrastamiseks ja registreeringu pikendamiseks pöörduge palun oma registripidaja poole.</p>
|
||||
|
||||
<p><%= @domain.name %> pikendamata jätmisel domeen kustub ja läheb <%= @domain.delete_date %> oksjonile .ee oksjonikeskkonda. Domeenioksjonite kohta loe lähemalt <a href="https://www.internet.ee/domeenioksjonid">siit</a>.</p>
|
||||
|
||||
<p>Domeeni <%= @domain.name %> registripidaja:</p>
|
||||
<%= render 'mailers/shared/registrar/registrar.et.html', registrar: @registrar %>
|
||||
|
||||
<p>Ülevaate kõikidest endaga seotud domeenidest saate <a href="https://registrant.internet.ee/registrant/">registreerija portaalist</a>.</p>
|
||||
|
||||
<%= render 'mailers/shared/signatures/signature.et.html' %>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>Domain <%= @domain.name %> has expired</p>
|
||||
|
||||
<p>Dear registrant/administrative contact of .ee domain,</p>
|
||||
|
||||
<p>The domain name <%= @domain.name %> has expired and since <%= @domain.on_hold_date %> is no longer available on the Internet. Domain registration has invalid contact data. Renewal and registrar transfer is therefore prohibited until contact data has been fixed. To correct the data and renew your domain registration, please contact your registrar.</p>
|
||||
|
||||
<p>If you do not renew the <%= @domain.name %> domain registration, it is deleted and put on auction to .ee domain auction environment at <%= @domain.delete_date %>. Read more about .ee domain auctions <a href="https://www.internet.ee/domains/auction-environment-user-agreement#3-terms-and-conditions-for-participation-in-the-auction-of-the-auction-environment">here</a>.</p>
|
||||
|
||||
<p>Registrar of the <%= @domain.name %>:</p>
|
||||
<%= render 'mailers/shared/registrar/registrar.en.html', registrar: @registrar %>
|
||||
|
||||
<p>You can find an overview of all your domains at the <a href="https://registrant.internet.ee/registrant/">registrant's portal</a>.</p>
|
||||
|
||||
<%= render 'mailers/shared/signatures/signature.en.html' %>
|
||||
|
||||
<hr>
|
||||
|
||||
<p>Срок действия домена <%= @domain.name %> истек</p>
|
||||
|
||||
<p>Уважаемый регистрант/административный контакт домена .ee</p>
|
||||
|
||||
<p>Срок действия доменного имени <%= @domain.name %> истек, и с <%= @domain.on_hold_date %> оно больше не доступно в интернете. У домена указаны неверные контактные данные. Обновление и перенос к другому регистратору заблокированы до исправления контактных данных. Для исправления контактных данных и обновления регистрации вашего домена, пожалуйста, обратитесь в вашему регистратору.</p>
|
||||
|
||||
<p>Если доменное имя не продлено, домен <%= @domain.name %> будет удален и <%= @domain.delete_date %> идет на аукцион в .ee среду аукциона. О проведении доменных аукционов читайте <a href="https://www.internet.ee/domeny/dogovor-pol-zovatelya-aukcionnoj-sredy#3-usloviya-uchastiya-v-aukcione">здесь</a>.</p>
|
||||
|
||||
<p>Pегистратор домена <%= @domain.name %>:</p>
|
||||
<%= render 'mailers/shared/registrar/registrar.ru.html', registrar: @registrar %>
|
||||
|
||||
<p>Обзор всех связанных с вами доменов можете получить на <a href="https://registrant.internet.ee/registrant/">портале регистратора.</a></p>
|
||||
|
||||
<%= render 'mailers/shared/signatures/signature.ru.html' %>
|
48
app/views/mailers/domain_expire_mailer/expired_soft.text.erb
Normal file
48
app/views/mailers/domain_expire_mailer/expired_soft.text.erb
Normal file
|
@ -0,0 +1,48 @@
|
|||
Domeen <%= @domain.name %> on aegunud ning suunatud kustutusmenetlusse kuna oleme tuvastanud domeeniga seotud kontaktides olulisi puudusi.
|
||||
|
||||
Lugupeetud .ee domeeni registreerija/halduskontakt
|
||||
|
||||
Domeeninimi <%= @domain.name %> on aegunud ja ei ole alates <%= @domain.on_hold_date %> internetis kättesaadav. Domeeniga on seotud puudulike kontakti objekte, milles tulenevalt on Eesti Interneti SA blokeerinud domeeni pikendamise ja registripidaja vahetuse, kuniks kontaktandmed korrastatakse. Andmete korrastamiseks ja registreeringu pikendamiseks pöörduge palun oma registripidaja poole.
|
||||
|
||||
<%= @domain.name %> pikendamata jätmisel domeen kustub ja läheb <%= @domain.delete_date %> oksjonile .ee oksjonikeskkonda. Domeenioksjonite kohta loe lähemalt siit https://www.internet.ee/domeenioksjonid.
|
||||
|
||||
Domeeni <%= @domain.name %> registripidaja:
|
||||
<%= render 'mailers/shared/registrar/registrar.et.html', registrar: @registrar %>
|
||||
|
||||
Ülevaate kõikidest endaga seotud domeenidest saate registreerija portaalist https://registrant.internet.ee/registrant/.
|
||||
|
||||
<%= render 'mailers/shared/signatures/signature.et.html' %>
|
||||
|
||||
--------------------------------------
|
||||
|
||||
Domain <%= @domain.name %> has expired
|
||||
|
||||
Dear registrant/administrative contact of .ee domain,
|
||||
|
||||
The domain name <%= @domain.name %> has expired and since <%= @domain.on_hold_date %> is no longer available on the Internet. Domain registration has invalid contact data. Renewal and registrar transfer is therefore prohibited until contact data has been fixed. To correct the data and renew your domain registration, please contact your registrar.
|
||||
|
||||
If you do not renew the <%= @domain.name %> domain registration, it is deleted and put on auction to .ee domain auction environment at <%= @domain.delete_date %>. Read more about .ee domain auctions here https://www.internet.ee/domains/auction-environment-user-agreement#3-terms-and-conditions-for-participation-in-the-auction-of-the-auction-environment.
|
||||
|
||||
Registrar of the <%= @domain.name %>:
|
||||
<%= render 'mailers/shared/registrar/registrar.en.html', registrar: @registrar %>
|
||||
|
||||
You can find an overview of all your domains at the registrant's portal https://registrant.internet.ee/registrant/.
|
||||
|
||||
<%= render 'mailers/shared/signatures/signature.en.html' %>
|
||||
|
||||
--------------------------------------
|
||||
|
||||
Срок действия домена <%= @domain.name %> истек
|
||||
|
||||
Уважаемый регистрант/административный контакт домена .ee
|
||||
|
||||
Срок действия доменного имени <%= @domain.name %> истек, и с <%= @domain.on_hold_date %> оно больше не доступно в интернете. У домена указаны неверные контактные данные. Обновление и перенос к другому регистратору заблокированы до исправления контактных данных. Для исправления контактных данных и обновления регистрации вашего домена, пожалуйста, обратитесь в вашему регистратору.
|
||||
|
||||
Если доменное имя не продлено, домен <%= @domain.name %> будет удален и <%= @domain.delete_date %> идет на аукцион в .ee среду аукциона. О проведении доменных аукционов читайте здесь https://www.internet.ee/domeny/dogovor-pol-zovatelya-aukcionnoj-sredy#3-usloviya-uchastiya-v-aukcione.
|
||||
|
||||
Pегистратор домена <%= @domain.name %>:
|
||||
<%= render 'mailers/shared/registrar/registrar.ru.html', registrar: @registrar %>
|
||||
|
||||
Обзор всех связанных с вами доменов можете получить на портале регистратора https://registrant.internet.ee/registrant/.
|
||||
|
||||
<%= render 'mailers/shared/signatures/signature.ru.html' %>
|
Loading…
Add table
Add a link
Reference in a new issue