Add extended registrar's info to "expiration" and "force_delete" mailers

registry-180
This commit is contained in:
Artur Beljajev 2016-10-31 17:56:51 +02:00
parent 411079f654
commit 69be717b91
17 changed files with 362 additions and 73 deletions

View file

@ -117,26 +117,20 @@ class DomainMailer < ApplicationMailer
name: @domain.name)} [#{@domain.name}]") name: @domain.name)} [#{@domain.name}]")
end end
def force_delete(domain_id, should_deliver) def force_delete(domain:)
@domain = Domain.find_by(id: domain_id) @domain = DomainPresenter.new(domain: domain, view: view_context)
return if delivery_off?(@domain, should_deliver) @registrar = RegistrarPresenter.new(registrar: domain.registrar, view: view_context)
emails = ([@domain.registrant.email] + @domain.admin_contacts.map { |x| format(x.email) }).uniq @registrant = RegistrantPresenter.new(registrant: domain.registrant, view: view_context)
return if whitelist_blocked?(emails)
formatted_emails = emails.map { |x| format(x) } mail(to: domain.primary_contact_emails)
mail(to: formatted_emails,
subject: "#{I18n.t(:force_delete_subject)}"
)
end end
def expiration(domain:) def expiration(domain:)
@domain = DomainPresenter.new(domain: domain, view: view_context) @domain = DomainPresenter.new(domain: domain, view: view_context)
@registrar = RegistrarPresenter.new(registrar: domain.registrar, view: view_context) @registrar = RegistrarPresenter.new(registrar: domain.registrar, view: view_context)
recipients = domain.admin_contact_emails << domain.registrant_email
subject = default_i18n_subject(domain_name: domain.name) subject = default_i18n_subject(domain_name: domain.name)
mail(to: recipients, subject: subject) mail(to: domain.primary_contact_emails, subject: subject)
end end
private private

View file

@ -12,6 +12,7 @@ class Domain < ActiveRecord::Base
alias_attribute :on_hold_time, :outzone_at alias_attribute :on_hold_time, :outzone_at
alias_attribute :delete_time, :delete_at alias_attribute :delete_time, :delete_at
alias_attribute :force_delete_time, :force_delete_at
# TODO: whois requests ip whitelist for full info for own domains and partial info for other domains # TODO: whois requests ip whitelist for full info for own domains and partial info for other domains
# TODO: most inputs should be trimmed before validatation, probably some global logic? # TODO: most inputs should be trimmed before validatation, probably some global logic?
@ -564,7 +565,7 @@ class Domain < ActiveRecord::Base
registrar.messages.create!( registrar.messages.create!(
body: I18n.t('force_delete_set_on_domain', domain: name) body: I18n.t('force_delete_set_on_domain', domain: name)
) )
DomainMailer.force_delete(id, true).deliver DomainMailer.force_delete(domain: self).deliver
return true return true
end end
false false
@ -743,6 +744,10 @@ class Domain < ActiveRecord::Base
nameservers.hostnames nameservers.hostnames
end end
def primary_contact_emails
admin_contact_emails << registrant_email
end
def self.to_csv def self.to_csv
CSV.generate do |csv| CSV.generate do |csv|
csv << column_names csv << column_names

View file

@ -14,6 +14,10 @@ class DomainPresenter
view.l(domain.delete_time, format: :date) if domain.delete_time view.l(domain.delete_time, format: :date) if domain.delete_time
end end
def force_delete_date
view.l(domain.force_delete_time, format: :date) if domain.force_delete_time
end
def admin_contact_names def admin_contact_names
domain.admin_contact_names.join(', ') domain.admin_contact_names.join(', ')
end end

View file

@ -10,8 +10,14 @@ Domeeni <%= @domain.name %> kohta on registris järgmised andmed:
Registreerija: <%= @domain.registrant_name %><br> Registreerija: <%= @domain.registrant_name %><br>
Halduskontakt: <%= @domain.admin_contact_names %><br> Halduskontakt: <%= @domain.admin_contact_names %><br>
Tehniline kontakt: <%= @domain.tech_contact_names %><br> Tehniline kontakt: <%= @domain.tech_contact_names %><br>
Registripidaja: <%= @registrar.name %><br>
Nimeserverid: <%= @domain.nameserver_names %><br> Nimeserverid: <%= @domain.nameserver_names %><br>
<p>Registripidaja:<br>
<%= @registrar.name %><br>
Email: <%= @registrar.email %><br>
Telefon: <%= @registrar.phone %><br>
Veebileht: <%= @registrar.url %></p>
Ülevaate kõikidest endaga seotud domeenidest saate registreerija portaalist. <%= ENV['registrant_url'] %>.<br> Ülevaate kõikidest endaga seotud domeenidest saate registreerija portaalist. <%= ENV['registrant_url'] %>.<br>
<br><br> <br><br>
Lugupidamisega<br> Lugupidamisega<br>
@ -31,8 +37,14 @@ The following data for the <%= @domain.name %> domain have been entered into the
Registrant: <%= @domain.registrant_name %><br> Registrant: <%= @domain.registrant_name %><br>
Administrative contact: <%= @domain.admin_contact_names %><br> Administrative contact: <%= @domain.admin_contact_names %><br>
Technical contact: <%= @domain.tech_contact_names %><br> Technical contact: <%= @domain.tech_contact_names %><br>
Registrar: <%= @registrar.name %><br>
Name servers: <%= @domain.nameserver_names %><br> Name servers: <%= @domain.nameserver_names %><br>
<p>Registrar:<br>
<%= @registrar.name %><br>
Email: <%= @registrar.email %><br>
Telefon: <%= @registrar.phone %><br>
Veebileht: <%= @registrar.url %></p>
You can find an overview of all your domains at the registrant's portal. <%= ENV['registrant_url'] %>.<br> You can find an overview of all your domains at the registrant's portal. <%= ENV['registrant_url'] %>.<br>
<br><br> <br><br>
Best Regards,<br> Best Regards,<br>
@ -57,8 +69,14 @@ Estonian Internet Foundation
Регистрант: <%= @domain.registrant_name %><br> Регистрант: <%= @domain.registrant_name %><br>
Административный контакт: <%= @domain.admin_contact_names %><br> Административный контакт: <%= @domain.admin_contact_names %><br>
Технический контакт: <%= @domain.tech_contact_names %><br> Технический контакт: <%= @domain.tech_contact_names %><br>
Регистратор: <%= @registrar.name %><br>
Серверы доменных имен: <%= @domain.nameserver_names %><br> Серверы доменных имен: <%= @domain.nameserver_names %><br>
<p>Регистратор:<br>
<%= @registrar.name %><br>
Электронная почта: <%= @registrar.email %><br>
Телефон: <%= @registrar.phone %><br>
Веб-сайт: <%= @registrar.url %></p>
Обзор всех связанных с Вами доменов можете получить на портале регистранта. <%= ENV['registrant_url'] %>.<br> Обзор всех связанных с Вами доменов можете получить на портале регистранта. <%= ENV['registrant_url'] %>.<br>
<br><br> <br><br>

View file

@ -10,8 +10,14 @@ Domeeni <%= @domain.name %> kohta on registris järgmised andmed:
Registreerija: <%= @domain.registrant_name %> Registreerija: <%= @domain.registrant_name %>
Halduskontakt: <%= @domain.admin_contact_names %> Halduskontakt: <%= @domain.admin_contact_names %>
Tehniline kontakt: <%= @domain.tech_contact_names %> Tehniline kontakt: <%= @domain.tech_contact_names %>
Registripidaja: <%= @registrar.name %>
Nimeserverid: <%= @domain.nameserver_names %> Nimeserverid: <%= @domain.nameserver_names %>
Registripidaja:
<%= @registrar.name %>
Email: <%= @registrar.email %>
Telefon: <%= @registrar.phone %>
Veebileht: <%= @registrar.url %>
Ülevaate kõikidest endaga seotud domeenidest saate registreerija portaalist. <%= ENV['registrant_url'] %>. Ülevaate kõikidest endaga seotud domeenidest saate registreerija portaalist. <%= ENV['registrant_url'] %>.
Parimate soovidega Parimate soovidega
@ -31,8 +37,14 @@ The following data for the <%= @domain.name %> domain have been entered into the
Registrant: <%= @domain.registrant_name %> Registrant: <%= @domain.registrant_name %>
Administrative contact: <%= @domain.admin_contact_names %> Administrative contact: <%= @domain.admin_contact_names %>
Technical contact: <%= @domain.tech_contact_names %> Technical contact: <%= @domain.tech_contact_names %>
Registrar: <%= @registrar.name %>
Name servers: <%= @domain.nameserver_names %> Name servers: <%= @domain.nameserver_names %>
Registrar:
<%= @registrar.name %>
Email: <%= @registrar.email %>
Phone: <%= @registrar.phone %>
Website: <%= @registrar.url %>
You can find an overview of all your domains at the registrant's portal. <%= ENV['registrant_url'] %>. You can find an overview of all your domains at the registrant's portal. <%= ENV['registrant_url'] %>.
Best Regards, Best Regards,
@ -52,8 +64,14 @@ Estonian Internet Foundation
Регистрант: <%= @domain.registrant_name %> Регистрант: <%= @domain.registrant_name %>
Административный контакт: <%= @domain.admin_contact_names %> Административный контакт: <%= @domain.admin_contact_names %>
Технический контакт: <%= @domain.tech_contact_names %> Технический контакт: <%= @domain.tech_contact_names %>
Регистратор: <%= @registrar.name %>
Серверы доменных имен: <%= @domain.nameserver_names %> Серверы доменных имен: <%= @domain.nameserver_names %>
Регистратор:
<%= @registrar.name %>
Электронная почта: <%= @registrar.email %>
Телефон: <%= @registrar.phone %>
Веб-сайт: <%= @registrar.url %>
Обзор всех связанных с Вами доменов можете получить на портале регистранта. <%= ENV['registrant_url'] %>. Обзор всех связанных с Вами доменов можете получить на портале регистранта. <%= ENV['registrant_url'] %>.
С наилучшими пожеланиями С наилучшими пожеланиями

View file

@ -1,7 +1,4 @@
<table width="600" cellspacing="0" cellpadding="0" border="0" align="center"><tbody> <table width="600" cellspacing="0" cellpadding="0" border="0" align="center"><tbody>
<tr><td>
<p><img src="http://media.voog.com/0000/0037/4533/photos/eis_logo_rgb_block.png" width="150px" alt="Eesti Interneti Sihtasutus"></p>
</td></tr>
<tr><td> <tr><td>
<table cellspacing="0" cellpadding="0" border="0" align="center" style="text-align: justify; line-height: 16px; font-size: 12px;"><tbody> <table cellspacing="0" cellpadding="0" border="0" align="center" style="text-align: justify; line-height: 16px; font-size: 12px;"><tbody>
<tr><td> <tr><td>
@ -11,56 +8,74 @@
<p>.ee domeeniregistrisse on domeeni <b><%= @domain.name %></b> kohta kantud j&auml;rgmised andmed:</p> <p>.ee domeeniregistrisse on domeeni <b><%= @domain.name %></b> kohta kantud j&auml;rgmised andmed:</p>
<p>Registreerija nimi: <b><%= @domain.registrant %></b><br /> <p>Registreerija nimi: <b><%= @registrant.name %></b><br />
Registrikood: <b><%= @domain.registrant.try(:ident) %></b></p> Registrikood: <b><%= @registrant.ident %></b></p>
<p>Eesti Interneti Sihtasutusele (EIS) on saanud teatavaks, et juriidiline isik registrikoodiga <b><%= @domain.registrant.try(:ident) %></b> on &auml;riregistrist kustutatud.</p> <p>Eesti Interneti Sihtasutusele (EIS) on saanud teatavaks, et juriidiline isik registrikoodiga <b><%= @registrant.ident %></b> on &auml;riregistrist kustutatud.</p>
<p>Kuiv&otilde;rd &auml;riregistrist kustutatud juriidiline isik ei saa olla domeeni registreerijaks, siis algatas EIS <b><%= l(Time.zone.now, format: :date) %></b> vastavalt Domeenireeglite (<a href="http://www.internet.ee/domeenid/" target="_blank">http://www.internet.ee/domeenid/</a>) punktile 6.4 domeeni <b><%= @domain.name %></b> suhtes 30 p&auml;eva pikkuse kustutusmenetluse. Kustutamise k&auml;igus j&auml;&auml;b domeen internetis k&auml;ttesaadavaks.</p> <p>Kuiv&otilde;rd &auml;riregistrist kustutatud juriidiline isik ei saa olla domeeni registreerijaks, siis algatas EIS <b><%= l(Time.zone.now, format: :date) %></b> vastavalt Domeenireeglite (<a href="http://www.internet.ee/domeenid/" target="_blank">http://www.internet.ee/domeenid/</a>) punktile 6.4 domeeni <b><%= @domain.name %></b> suhtes 30 p&auml;eva pikkuse kustutusmenetluse. Kustutamise k&auml;igus j&auml;&auml;b domeen internetis k&auml;ttesaadavaks.</p>
<p>Domeenireeglite punktist 6.4 tulenevalt on domeeni suhtes &otilde;igust omaval registreerijal v&otilde;imalus esitada domeeni <b><%= @domain.name %></b> registripidajale <b><%= @domain.registrar %></b> domeeni &uuml;leandmise taotlus Domeenireeglite p 5.3.6.2 kohaselt. Taotlusele tuleb lisada domeeni omandamist t&otilde;endavad dokumendid, mis asendavad Domeenireeglite punktis 5.3.6.3 s&auml;testatud &uuml;leandva registreerija n&otilde;usolekut. Vastav dokumentatsioon tuleb esitada Registripidajale esimesel v&otilde;imalusel.</p> <p>Domeenireeglite punktist 6.4 tulenevalt on domeeni suhtes &otilde;igust omaval registreerijal v&otilde;imalus esitada domeeni <b><%= @domain.name %></b> registripidajale <b><%= @registrar.name %></b> domeeni &uuml;leandmise taotlus Domeenireeglite p 5.3.6.2 kohaselt. Taotlusele tuleb lisada domeeni omandamist t&otilde;endavad dokumendid, mis asendavad Domeenireeglite punktis 5.3.6.3 s&auml;testatud &uuml;leandva registreerija n&otilde;usolekut. Vastav dokumentatsioon tuleb esitada Registripidajale esimesel v&otilde;imalusel.</p>
<p>Kui &uuml;leandmine ei ole 30 p&auml;eva jooksul toimunud, kustub domeen <b><%= @domain.name %></b> 24 tunni jooksul <b><%= l(@domain.force_delete_at, format: :date) %></b> juhuslikult valitud ajahetkel. Soovi korral on v&otilde;imalik domeen p&auml;rast selle kustumist registrist “kes ees, see mees” p&otilde;him&otilde;ttel uuesti registreerida.</p> <p>Kui &uuml;leandmine ei ole 30 p&auml;eva jooksul toimunud, kustub domeen <b><%= @domain.name %></b> 24 tunni jooksul <b><%= @domain.force_delete_date %></b> juhuslikult valitud ajahetkel. Soovi korral on v&otilde;imalik domeen p&auml;rast selle kustumist registrist “kes ees, see mees” p&otilde;him&otilde;ttel uuesti registreerida.</p>
<p>Lisak&uuml;simuste korral v&otilde;tke palun &uuml;hendust oma registripidajaga <%= @domain.registrar %>. Registripidajate kontaktid leiate aadressilt <a href="http://www.internet.ee/registripidajad" target="_blank">http://www.internet.ee/registripidajad</a></p><br /><br /> <p>Lisak&uuml;simuste korral v&otilde;tke palun &uuml;hendust oma registripidajaga:</p>
<p><%= @registrar.name %><br>
Email: <%= @registrar.email %><br>
Telefon: <%= @registrar.phone %><br>
Veebileht: <%= @registrar.url %></p>
<hr>
<strong>Dear contact of <%= @domain.name %> domain</strong> <strong>Dear contact of <%= @domain.name %> domain</strong>
<p>The following details for domain name <b><%= @domain.name %></b> have been entered into the .ee domain registry:</p> <p>The following details for domain name <b><%= @domain.name %></b> have been entered into the .ee domain registry:</p>
<p>Registrant's name: <b><%= @domain.registrant %></b><br /> <p>Registrant's name: <b><%= @registrant.name %></b><br />
Registry code: <b><%= @domain.registrant.try(:ident) %></b></p> Registry code: <b><%= @registrant.ident %></b></p>
<p>Estonian Internet Foundation (EIS) has learned that the legal person with registry code <b><%= @domain.registrant.try(:ident) %></b> has been deleted from the Business Registry.</p> <p>Estonian Internet Foundation (EIS) has learned that the legal person with registry code <b><%= @registrant.ident %></b> has been deleted from the Business Registry.</p>
<p>As a terminated legal person cannot be the registrant of a domain, the EIS started the deletion process of <b><%= @domain.name %></b> domain on <b><%= l(Time.zone.now, format: :date) %></b> according to the Domain Regulation (<a href="http://www.internet.ee/domains/" target="_blank">http://www.internet.ee/domains/</a>), using the 30-day delete procedure. The domain will remain available on the Internet during the delete procedure.</p> <p>As a terminated legal person cannot be the registrant of a domain, the EIS started the deletion process of <b><%= @domain.name %></b> domain on <b><%= l(Time.zone.now, format: :date) %></b> according to the Domain Regulation (<a href="http://www.internet.ee/domains/" target="_blank">http://www.internet.ee/domains/</a>), using the 30-day delete procedure. The domain will remain available on the Internet during the delete procedure.</p>
<p>According to paragraph 6.4 of the Domain Regulation, the registrant holding a right to the domain name <b><%= @domain.name %></b> can submit a domain name transfer application to the registrar <b><%= @domain.registrar %></b> in accordance with paragraph 5.3.6.2 of the Domain Regulation. The application must be submitted together with documents certifying the acquisition of the domain that will replace the consent of the surrendering registrant as laid down in paragraph 5.3.6.3 of the Domain Regulation. The relevant documents should be submitted to the registrar as soon as possible.</p> <p>According to paragraph 6.4 of the Domain Regulation, the registrant holding a right to the domain name <b><%= @domain.name %></b> can submit a domain name transfer application to the registrar <b><%= @registrar.name %></b> in accordance with paragraph 5.3.6.2 of the Domain Regulation. The application must be submitted together with documents certifying the acquisition of the domain that will replace the consent of the surrendering registrant as laid down in paragraph 5.3.6.3 of the Domain Regulation. The relevant documents should be submitted to the registrar as soon as possible.</p>
<p>If the transfer has not been made in 30 days, the domain <b><%= @domain.name %></b> will be deleted at a randomly chosen moment within 24 hours on <b><%= l(@domain.force_delete_at, format: :date) %></b>. After deletion it is possible to reregister the domain on a "first come, first served" basis.</p> <p>If the transfer has not been made in 30 days, the domain <b><%= @domain.name %></b> will be deleted at a randomly chosen moment within 24 hours on <b><%= @domain.force_delete_date %></b>. After deletion it is possible to reregister the domain on a "first come, first served" basis.</p>
<p>Should you have additional questions, please contact your registrar <%= @domain.registrar %>, whose contact information can be found at <a href="http://www.internet.ee/registrars/" target="_blank">http://www.internet.ee/registrars/</a></p><br /><br /> <p>Should you have additional questions, please contact your registrar:</p>
<p><%= @registrar.name %><br>
Email: <%= @registrar.email %><br>
Phone: <%= @registrar.phone %><br>
Website: <%= @registrar.url %></p>
<hr>
<strong>Уважаемое контактное лицо домена <%= @domain.name %></strong> <strong>Уважаемое контактное лицо домена <%= @domain.name %></strong>
<p>В регистр доменов Целевого учреждения Eesti Internet (EIS) внесены следующие данные относительно домена <b><%= @domain.name %></b>:</p> <p>В регистр доменов Целевого учреждения Eesti Internet (EIS) внесены следующие данные относительно домена <b><%= @domain.name %></b>:</p>
<p>Имя регистранта: <b><%= @domain.registrant %></b><br /> <p>Имя регистранта: <b><%= @registrant.name %></b><br />
Регистрационный код: <b><%= @domain.registrant.try(:ident) %></b></p> Регистрационный код: <b><%= @registrant.ident %></b></p>
<p>EIS стало известно, что юридическое лицо с регистрационным кодом <%= @domain.registrant.try(:ident) %> удалено из коммерческого реестра.</p> <p>EIS стало известно, что юридическое лицо с регистрационным кодом <%= @registrant.ident %> удалено из коммерческого реестра.</p>
<p>Поскольку прекратившее деятельность юридическое лицо не может являться регистрантом домена, то согласно пункту 6.4 Правил домена (<a href="http://www.internet.ee/domeny/" target="_blank">http://www.internet.ee/domeny/</a>) EIS <b><%= l(Time.zone.now, format: :date) %></b> инициировало удаление домена <b><%= @domain.name %></b> с применением 30-дневной процедуры удаления. На протяжении процесса удаления домен остается доступным в Интернете.</p> <p>Поскольку прекратившее деятельность юридическое лицо не может являться регистрантом домена, то согласно пункту 6.4 Правил домена (<a href="http://www.internet.ee/domeny/" target="_blank">http://www.internet.ee/domeny/</a>) EIS <b><%= l(Time.zone.now, format: :date) %></b> инициировало удаление домена <b><%= @domain.name %></b> с применением 30-дневной процедуры удаления. На протяжении процесса удаления домен остается доступным в Интернете.</p>
<p>Согласно пункту 6.4 Правил домена регистрант, имеющий право на домен, может подать регистратору <b><%= @domain.registrar %></b> домена <b><%= @domain.name %></b> ходатайство о передаче домена в соответствии с п. 5.3.6.2 Правил домена. К ходатайству следует приложить подтверждающие приобретение домена документы, заменяющие в соответствии с пунктом 5.3.6.3 Правил домена согласие передающего доменное имя регистранта. EIS предлагает представить соответствующую документацию Регистратору при первой возможности, начиная с инициирования процедуры удаления.</p> <p>Согласно пункту 6.4 Правил домена регистрант, имеющий право на домен, может подать регистратору <b><%= @registrar.name %></b> домена <b><%= @domain.name %></b> ходатайство о передаче домена в соответствии с п. 5.3.6.2 Правил домена. К ходатайству следует приложить подтверждающие приобретение домена документы, заменяющие в соответствии с пунктом 5.3.6.3 Правил домена согласие передающего доменное имя регистранта. EIS предлагает представить соответствующую документацию Регистратору при первой возможности, начиная с инициирования процедуры удаления.</p>
<p>Если в течение 30 дней передача не произошла, домен <b><%= @domain.name %></b> удаляется по истечении 24 часов <b><%= l(@domain.force_delete_at, format: :date) %></b> в случайный момент времени. По желанию после удаления из регистра домен можно снова зарегистрировать по принципу "кто успел, тот и съел".</p> <p>Если в течение 30 дней передача не произошла, домен <b><%= @domain.name %></b> удаляется по истечении 24 часов <b><%= @domain.force_delete_date %></b> в случайный момент времени. По желанию после удаления из регистра домен можно снова зарегистрировать по принципу "кто успел, тот и съел".</p>
<p>Просим обратиться к своему регистратору <%= @domain.registrar %>. Контактные данные регистраторов можно найти по адресу <a href="http://www.internet.ee/registratory/" target="_blank">http://www.internet.ee/registratory/</a></p><br /><br /> <p>Просим обратиться к своему регистратору:</p>
<p><%= @registrar.name %><br>
Электронная почта: <%= @registrar.email %><br>
Телефон: <%= @registrar.phone %><br>
Веб-сайт: <%= @registrar.url %></p>
<br /><br />
<table width="100%" cellspacing="0" cellpadding="0" border="0" align="center" style="text-align: justify; line-height: 16px; font-size: 12px;"><tbody> <table width="100%" cellspacing="0" cellpadding="0" border="0" align="center" style="text-align: justify; line-height: 16px; font-size: 12px;"><tbody>
<tr><td align="left" valign="top"> <tr><td align="left" valign="top">
@ -73,4 +88,4 @@ Registry code: <b><%= @domain.registrant.try(:ident) %></b></p>
</tbody> </tbody>
</table> </table>
</td></tr> </td></tr>
</tbody></table> </tbody></table></table>

View file

@ -2,18 +2,23 @@ Lugupeetud domeeni <%= @domain.name %> kontaktisik
.ee domeeniregistrisse on domeeni <%= @domain.name %> kohta kantud järgmised andmed: .ee domeeniregistrisse on domeeni <%= @domain.name %> kohta kantud järgmised andmed:
Registreerija nimi: <%= @domain.registrant %> Registreerija nimi: <%= @registrant.name %>
Registrikood: <%= @domain.registrant.try(:ident) %> Registrikood: <%= @registrant.ident %>
Eesti Interneti Sihtasutusele (EIS) on saanud teatavaks, et juriidiline isik registrikoodiga <%= @domain.registrant.try(:ident) %> on äriregistrist kustutatud. Eesti Interneti Sihtasutusele (EIS) on saanud teatavaks, et juriidiline isik registrikoodiga <%= @registrant.ident %> on äriregistrist kustutatud.
Kuivõrd äriregistrist kustutatud juriidiline isik ei saa olla domeeni registreerijaks, siis algatas EIS <%= l(Time.zone.now, format: :date) %> vastavalt Domeenireeglite (http://www.internet.ee/domeenid/) punktile 6.4 domeeni <%= @domain.name %> suhtes 30 päeva pikkuse kustutusmenetluse. Kustutamise käigus jääb domeen internetis kättesaadavaks. Kuivõrd äriregistrist kustutatud juriidiline isik ei saa olla domeeni registreerijaks, siis algatas EIS <%= l(Time.zone.now, format: :date) %> vastavalt Domeenireeglite (http://www.internet.ee/domeenid/) punktile 6.4 domeeni <%= @domain.name %> suhtes 30 päeva pikkuse kustutusmenetluse. Kustutamise käigus jääb domeen internetis kättesaadavaks.
Domeenireeglite punktist 6.4 tulenevalt on domeeni suhtes õigust omaval registreerijal võimalus esitada domeeni <%= @domain.name %> registripidajale <%= @domain.registrar %> domeeni üleandmise taotlus Domeenireeglite p 5.3.6.2 kohaselt. Taotlusele tuleb lisada domeeni omandamist tõendavad dokumendid, mis asendavad Domeenireeglite punktis 5.3.6.3 sätestatud üleandva registreerija nõusolekut. Vastav dokumentatsioon tuleb esitada Registripidajale esimesel võimalusel. Domeenireeglite punktist 6.4 tulenevalt on domeeni suhtes õigust omaval registreerijal võimalus esitada domeeni <%= @domain.name %> registripidajale <%= @registrar.name %> domeeni üleandmise taotlus Domeenireeglite p 5.3.6.2 kohaselt. Taotlusele tuleb lisada domeeni omandamist tõendavad dokumendid, mis asendavad Domeenireeglite punktis 5.3.6.3 sätestatud üleandva registreerija nõusolekut. Vastav dokumentatsioon tuleb esitada Registripidajale esimesel võimalusel.
Kui üleandmine ei ole 30 päeva jooksul toimunud, kustub domeen <%= @domain.name %> 24 tunni jooksul <%= l(@domain.force_delete_at, format: :date) %> juhuslikult valitud ajahetkel. Soovi korral on võimalik domeen pärast selle kustumist registrist "kes ees, see mees" põhimõttel uuesti registreerida. Kui üleandmine ei ole 30 päeva jooksul toimunud, kustub domeen <%= @domain.name %> 24 tunni jooksul <%= @domain.force_delete_date %> juhuslikult valitud ajahetkel. Soovi korral on võimalik domeen pärast selle kustumist registrist "kes ees, see mees" põhimõttel uuesti registreerida.
Lisaküsimuste korral võtke palun ühendust oma registripidajaga <%= @domain.registrar %>. Registripidajate kontaktid leiate aadressilt http://www.internet.ee/registripidajad/ Lisaküsimuste korral võtke palun ühendust oma registripidajaga:
<%= @registrar.name %>
Email: <%= @registrar.email %>
Telefon: <%= @registrar.phone %>
Veebileht: <%= @registrar.url %>
@ -21,18 +26,23 @@ Dear contact of <%= @domain.name %> domain
The following details for domain name <%= @domain.name %> have been entered into the .ee domain registry: The following details for domain name <%= @domain.name %> have been entered into the .ee domain registry:
Registrant's name: <%= @domain.registrant %> Registrant's name: <%= @registrant.name %>
Registry code: <%= @domain.registrant.try(:ident) %> Registry code: <%= @registrant.ident %>
Estonian Internet Foundation (EIS) has learned that the legal person with registry code <%= @domain.registrant.try(:ident) %> has been deleted from the Business Registry. Estonian Internet Foundation (EIS) has learned that the legal person with registry code <%= @registrant.ident %> has been deleted from the Business Registry.
As a terminated legal person cannot be the registrant of a domain, the EIS started the deletion process of <%= @domain.name %> domain on <%= l(Time.zone.now, format: :date) %> according to the Domain Regulation (http://www.internet.ee/domains/), using the 30-day delete procedure. The domain will remain available on the Internet during the delete procedure. As a terminated legal person cannot be the registrant of a domain, the EIS started the deletion process of <%= @domain.name %> domain on <%= l(Time.zone.now, format: :date) %> according to the Domain Regulation (http://www.internet.ee/domains/), using the 30-day delete procedure. The domain will remain available on the Internet during the delete procedure.
According to paragraph 6.4 of the Domain Regulation, the registrant holding a right to the domain name <%= @domain.name %> can submit a domain name transfer application to the registrar <%= @domain.registrar %> in accordance with paragraph 5.3.6.2 of the Domain Regulation. The application must be submitted together with documents certifying the acquisition of the domain that will replace the consent of the surrendering registrant as laid down in paragraph 5.3.6.3 of the Domain Regulation. The relevant documents should be submitted to the registrar as soon as possible. According to paragraph 6.4 of the Domain Regulation, the registrant holding a right to the domain name <%= @domain.name %> can submit a domain name transfer application to the registrar <%= @registrar.name %> in accordance with paragraph 5.3.6.2 of the Domain Regulation. The application must be submitted together with documents certifying the acquisition of the domain that will replace the consent of the surrendering registrant as laid down in paragraph 5.3.6.3 of the Domain Regulation. The relevant documents should be submitted to the registrar as soon as possible.
If the transfer has not been made in 30 days, the domain <%= @domain.name %> will be deleted at a randomly chosen moment within 24 hours on <%= l(@domain.force_delete_at, format: :date) %>. After deletion it is possible to reregister the domain on a "first come, first served" basis. If the transfer has not been made in 30 days, the domain <%= @domain.name %> will be deleted at a randomly chosen moment within 24 hours on <%= @domain.force_delete_date %>. After deletion it is possible to reregister the domain on a "first come, first served" basis.
Should you have additional questions, please contact your registrar <%= @domain.registrar %>, whose contact information can be found at http://www.internet.ee/registrars/ Should you have additional questions, please contact your registrar:
<%= @registrar.name %>
Email: <%= @registrar.email %>
Phone: <%= @registrar.phone %>
Website: <%= @registrar.url %>
@ -40,19 +50,23 @@ Should you have additional questions, please contact your registrar <%= @domain.
В регистр доменов Целевого учреждения Eesti Internet (EIS) внесены следующие данные относительно домена <%= @domain.name %>: В регистр доменов Целевого учреждения Eesti Internet (EIS) внесены следующие данные относительно домена <%= @domain.name %>:
Имя регистранта: <%= @domain.registrant %> Имя регистранта: <%= @registrant.name %>
Регистрационный код: <%= @domain.registrant.try(:ident) %> Регистрационный код: <%= @registrant.ident %>
EIS стало известно, что юридическое лицо с регистрационным кодом <%= @domain.registrant.try(:ident) %> удалено из коммерческого реестра. EIS стало известно, что юридическое лицо с регистрационным кодом <%= @registrant.ident %> удалено из коммерческого реестра.
Поскольку прекратившее деятельность юридическое лицо не может являться регистрантом домена, то согласно пункту 6.4 Правил домена (http://www.internet.ee/domeny) EIS <%= l(Time.zone.now, format: :date) %> инициировало удаление домена <%= @domain.name %> с применением 30-дневной процедуры удаления. На протяжении процесса удаления домен остается доступным в Интернете. Поскольку прекратившее деятельность юридическое лицо не может являться регистрантом домена, то согласно пункту 6.4 Правил домена (http://www.internet.ee/domeny) EIS <%= l(Time.zone.now, format: :date) %> инициировало удаление домена <%= @domain.name %> с применением 30-дневной процедуры удаления. На протяжении процесса удаления домен остается доступным в Интернете.
Согласно пункту 6.4 Правил домена регистрант, имеющий право на домен, может подать регистратору <%= @domain.registrar %> домена <%= @domain.name %> ходатайство о передаче домена в соответствии с п. 5.3.6.2 Правил домена. К ходатайству следует приложить подтверждающие приобретение домена документы, заменяющие в соответствии с пунктом 5.3.6.3 Правил домена согласие передающего доменное имя регистранта. EIS предлагает представить соответствующую документацию Регистратору при первой возможности, начиная с инициирования процедуры удаления. Согласно пункту 6.4 Правил домена регистрант, имеющий право на домен, может подать регистратору <%= @registrar.name %> домена <%= @domain.name %> ходатайство о передаче домена в соответствии с п. 5.3.6.2 Правил домена. К ходатайству следует приложить подтверждающие приобретение домена документы, заменяющие в соответствии с пунктом 5.3.6.3 Правил домена согласие передающего доменное имя регистранта. EIS предлагает представить соответствующую документацию Регистратору при первой возможности, начиная с инициирования процедуры удаления.
Если в течение 30 дней передача не произошла, домен <%= @domain.name %> удаляется по истечении 24 часов <%= l(@domain.force_delete_at, format: :date) %> в случайный момент времени. По желанию после удаления из регистра домен можно снова зарегистрировать по принципу "кто успел, тот и съел". Если в течение 30 дней передача не произошла, домен <%= @domain.name %> удаляется по истечении 24 часов <%= @domain.force_delete_date %> в случайный момент времени. По желанию после удаления из регистра домен можно снова зарегистрировать по принципу "кто успел, тот и съел".
Просим обратиться к своему регистратору <%= @domain.registrar %>. Контактные данные регистраторов можно найти по адресу http://www.internet.ee/registratory Просим обратиться к своему регистратору:
<%= @registrar.name %>
Электронная почта: <%= @registrar.email %>
Телефон: <%= @registrar.phone %>
Веб-сайт: <%= @registrar.url %>
Lugupidamisega, Lugupidamisega,

View file

@ -939,7 +939,6 @@ en:
new_mail_template: New mail template new_mail_template: New mail template
failure: "It was not saved" failure: "It was not saved"
contact_is_not_valid: 'Contact %{value} is not valid, please fix the invalid contact' contact_is_not_valid: 'Contact %{value} is not valid, please fix the invalid contact'
force_delete_subject: 'Kustutusmenetluse teade'
welcome_to_eis_registrar_portal: 'Welcome to EIS Registrar portal' welcome_to_eis_registrar_portal: 'Welcome to EIS Registrar portal'
interfaces: 'Interfaces' interfaces: 'Interfaces'
list_format_is_in_yaml: 'List format is in YAML' list_format_is_in_yaml: 'List format is in YAML'

View file

@ -2,3 +2,5 @@ en:
domain_mailer: domain_mailer:
expiration: expiration:
subject: The %{domain_name} domain has expired subject: The %{domain_name} domain has expired
force_delete:
subject: Kustutusmenetluse teade

View file

@ -7,7 +7,6 @@ FactoryGirl.define do
registrant registrant
after :build do |domain| after :build do |domain|
domain.class.skip_callback(:commit, :after, :update_whois_record) # Otherwise FactoryGirl reports Domain#json= method as undefined
domain.nameservers << FactoryGirl.build_pair(:nameserver) domain.nameservers << FactoryGirl.build_pair(:nameserver)
domain.admin_domain_contacts << FactoryGirl.build(:admin_domain_contact) domain.admin_domain_contacts << FactoryGirl.build(:admin_domain_contact)
domain.tech_domain_contacts << FactoryGirl.build(:tech_domain_contact) domain.tech_domain_contacts << FactoryGirl.build(:tech_domain_contact)

View file

@ -1,12 +1,42 @@
require 'rails_helper' require 'rails_helper'
RSpec.describe DomainMailer do RSpec.describe DomainMailer do
describe '#force_delete' do
let(:domain) { instance_spy(Domain, name: 'test.com') }
let(:domain_presenter) { instance_spy(DomainPresenter) }
let(:registrar_presenter) { instance_spy(RegistrarPresenter) }
let(:registrant_presenter) { instance_spy(RegistrantPresenter) }
subject(:message) { described_class.force_delete(domain: domain) }
before :example do
expect(DomainPresenter).to receive(:new).and_return(domain_presenter)
expect(RegistrarPresenter).to receive(:new).and_return(registrar_presenter)
expect(RegistrantPresenter).to receive(:new).and_return(registrant_presenter)
end
it 'has sender' do
message.deliver!
expect(message.from).to eq(['noreply@internet.ee'])
end
it 'has recipient' do
expect(domain).to receive(:primary_contact_emails).and_return(['recipient@test.com'])
message.deliver!
expect(message.to).to match_array(['recipient@test.com'])
end
it 'has valid subject' do
message.deliver!
expect(message.subject).to eq('Kustutusmenetluse teade')
end
it 'sends message' do
expect { message.deliver! }.to change { ActionMailer::Base.deliveries.count }.by(1)
end
end
describe '#expiration' do describe '#expiration' do
let(:domain) { instance_spy(Domain, let(:domain) { instance_spy(Domain, name: 'test.com') }
name: 'test.com',
registrant_email: 'registrant@test.com',
admin_contact_emails: ['admin.contact.email@test.com']
) }
let(:domain_presenter) { instance_spy(DomainPresenter) } let(:domain_presenter) { instance_spy(DomainPresenter) }
let(:registrar_presenter) { instance_spy(RegistrarPresenter) } let(:registrar_presenter) { instance_spy(RegistrarPresenter) }
subject(:message) { described_class.expiration(domain: domain) } subject(:message) { described_class.expiration(domain: domain) }
@ -16,14 +46,15 @@ RSpec.describe DomainMailer do
expect(RegistrarPresenter).to receive(:new).and_return(registrar_presenter) expect(RegistrarPresenter).to receive(:new).and_return(registrar_presenter)
end end
it 'has valid sender' do it 'has sender' do
message.deliver! message.deliver!
expect(message.from).to eq(['noreply@internet.ee']) expect(message.from).to eq(['noreply@internet.ee'])
end end
it 'has registrant and administrative contacts as recipient' do it 'has recipient' do
expect(domain).to receive(:primary_contact_emails).and_return(['recipient@test.com'])
message.deliver! message.deliver!
expect(message.to).to match_array(['registrant@test.com', 'admin.contact.email@test.com']) expect(message.to).to match_array(['recipient@test.com'])
end end
it 'has valid subject' do it 'has valid subject' do

View file

@ -831,6 +831,7 @@ end
RSpec.describe Domain, db: false do RSpec.describe Domain, db: false do
it { is_expected.to alias_attribute(:on_hold_time, :outzone_at) } it { is_expected.to alias_attribute(:on_hold_time, :outzone_at) }
it { is_expected.to alias_attribute(:delete_time, :delete_at) } it { is_expected.to alias_attribute(:delete_time, :delete_at) }
it { is_expected.to alias_attribute(:force_delete_time, :force_delete_at) }
describe '#set_server_hold' do describe '#set_server_hold' do
let(:domain) { described_class.new } let(:domain) { described_class.new }
@ -896,4 +897,20 @@ RSpec.describe Domain, db: false do
expect(domain.nameserver_hostnames).to eq('hostnames') expect(domain.nameserver_hostnames).to eq('hostnames')
end end
end end
describe '#primary_contact_emails' do
let(:domain) { described_class.new }
before :example do
expect(domain).to receive(:registrant_email).and_return('registrant@test.com')
expect(domain).to receive(:admin_contact_emails).and_return(['admin.contact.email@test.com'])
end
it 'returns registrant and administrative contact emails' do
expect(domain.primary_contact_emails).to match_array(%w(
registrant@test.com
admin.contact.email@test.com
))
end
end
end end

View file

@ -41,6 +41,25 @@ RSpec.describe DomainPresenter do
end end
end end
describe '#force_delete_date' do
subject(:force_delete_date) { presenter.force_delete_date }
context 'when present' do
let(:domain) { instance_double(Domain, force_delete_time: '05.07.2010') }
it 'returns localized date' do
expect(view).to receive(:l).with('05.07.2010', format: :date).and_return('delete date')
expect(force_delete_date).to eq('delete date')
end
end
context 'when absent' do
let(:domain) { instance_double(Domain, force_delete_time: nil) }
specify { expect(force_delete_date).to be_nil }
end
end
describe '#admin_contact_names' do describe '#admin_contact_names' do
let(:domain) { instance_double(Domain) } let(:domain) { instance_double(Domain) }

View file

@ -17,7 +17,21 @@ RSpec.describe 'mailers/domain_mailer/expiration.html.erb' do
expect(rendered).to have_text('test registrar name', count: mention_count) expect(rendered).to have_text('test registrar name', count: mention_count)
end end
attributes = %i( registrar_attributes = %i(
email
phone
url
)
registrar_attributes.each do |attr_name|
it "has registrar #{attr_name}" do
expect(registrar).to receive(attr_name).exactly(lang_count).times.and_return("test registrar #{attr_name}")
render
expect(rendered).to have_text("test registrar #{attr_name}", count: lang_count)
end
end
domain_attributes = %i(
on_hold_date on_hold_date
delete_date delete_date
registrant_name registrant_name
@ -26,7 +40,7 @@ RSpec.describe 'mailers/domain_mailer/expiration.html.erb' do
nameserver_names nameserver_names
) )
attributes.each do |attr_name| domain_attributes.each do |attr_name|
it "has :#{attr_name}" do it "has :#{attr_name}" do
expect(domain).to receive(attr_name).exactly(lang_count).times.and_return(attr_name.to_s) expect(domain).to receive(attr_name).exactly(lang_count).times.and_return(attr_name.to_s)
render render

View file

@ -17,7 +17,21 @@ RSpec.describe 'mailers/domain_mailer/expiration.text.erb' do
expect(rendered).to have_text('test registrar name', count: mention_count) expect(rendered).to have_text('test registrar name', count: mention_count)
end end
attributes = %i( registrar_attributes = %i(
email
phone
url
)
registrar_attributes.each do |attr_name|
it "has registrar #{attr_name}" do
expect(registrar).to receive(attr_name).exactly(lang_count).times.and_return("test registrar #{attr_name}")
render
expect(rendered).to have_text("test registrar #{attr_name}", count: lang_count)
end
end
domain_attributes = %i(
on_hold_date on_hold_date
delete_date delete_date
registrant_name registrant_name
@ -26,7 +40,7 @@ RSpec.describe 'mailers/domain_mailer/expiration.text.erb' do
nameserver_names nameserver_names
) )
attributes.each do |attr_name| domain_attributes.each do |attr_name|
it "has :#{attr_name}" do it "has :#{attr_name}" do
expect(domain).to receive(attr_name).exactly(lang_count).times.and_return(attr_name.to_s) expect(domain).to receive(attr_name).exactly(lang_count).times.and_return(attr_name.to_s)
render render

View file

@ -0,0 +1,63 @@
require 'rails_helper'
RSpec.describe 'mailers/domain_mailer/force_delete.html.erb' do
let(:domain) { instance_spy(DomainPresenter) }
let(:registrar) { instance_spy(RegistrarPresenter) }
let(:registrant) { instance_spy(RegistrantPresenter) }
let(:lang_count) { 3 }
before :example do
assign(:domain, domain)
assign(:registrar, registrar)
assign(:registrant, registrant)
end
it 'has domain name' do
mention_count = 5 * lang_count
expect(domain).to receive(:name).exactly(mention_count).times.and_return('test domain name')
render
expect(rendered).to have_text('test domain name', count: mention_count)
end
it 'has domain force delete date' do
mention_count = 1 * lang_count
expect(domain).to receive(:force_delete_date).exactly(mention_count).times.and_return('test domain force delete date')
render
expect(rendered).to have_text('test domain force delete date', count: mention_count)
end
it 'has registrar name' do
mention_count = 2 * lang_count
expect(registrar).to receive(:name).exactly(mention_count).times.and_return('test registrar name')
render
expect(rendered).to have_text('test registrar name', count: mention_count)
end
registrar_attributes = %i(
email
phone
url
)
registrar_attributes.each do |attr_name|
it "has registrar #{attr_name}" do
expect(registrar).to receive(attr_name).exactly(lang_count).times.and_return("test registrar #{attr_name}")
render
expect(rendered).to have_text("test registrar #{attr_name}", count: lang_count)
end
end
it 'has registrant name' do
mention_count = 1 * lang_count
expect(registrant).to receive(:name).exactly(mention_count).times.and_return('test registrant name')
render
expect(rendered).to have_text('test registrant name', count: mention_count)
end
it 'has registrant ident' do
mention_count = 2 * lang_count
expect(registrant).to receive(:ident).exactly(mention_count).times.and_return('test registrant ident')
render
expect(rendered).to have_text('test registrant ident', count: mention_count)
end
end

View file

@ -0,0 +1,63 @@
require 'rails_helper'
RSpec.describe 'mailers/domain_mailer/force_delete.text.erb' do
let(:domain) { instance_spy(DomainPresenter) }
let(:registrar) { instance_spy(RegistrarPresenter) }
let(:registrant) { instance_spy(RegistrantPresenter) }
let(:lang_count) { 3 }
before :example do
assign(:domain, domain)
assign(:registrar, registrar)
assign(:registrant, registrant)
end
it 'has domain name' do
mention_count = 5 * lang_count
expect(domain).to receive(:name).exactly(mention_count).times.and_return('test domain name')
render
expect(rendered).to have_text('test domain name', count: mention_count)
end
it 'has domain force delete date' do
mention_count = 1 * lang_count
expect(domain).to receive(:force_delete_date).exactly(mention_count).times.and_return('test domain force delete date')
render
expect(rendered).to have_text('test domain force delete date', count: mention_count)
end
it 'has registrar name' do
mention_count = 2 * lang_count
expect(registrar).to receive(:name).exactly(mention_count).times.and_return('test registrar name')
render
expect(rendered).to have_text('test registrar name', count: mention_count)
end
registrar_attributes = %i(
email
phone
url
)
registrar_attributes.each do |attr_name|
it "has registrar #{attr_name}" do
expect(registrar).to receive(attr_name).exactly(lang_count).times.and_return("test registrar #{attr_name}")
render
expect(rendered).to have_text("test registrar #{attr_name}", count: lang_count)
end
end
it 'has registrant name' do
mention_count = 1 * lang_count
expect(registrant).to receive(:name).exactly(mention_count).times.and_return('test registrant name')
render
expect(rendered).to have_text('test registrant name', count: mention_count)
end
it 'has registrant ident' do
mention_count = 2 * lang_count
expect(registrant).to receive(:ident).exactly(mention_count).times.and_return('test registrant ident')
render
expect(rendered).to have_text('test registrant ident', count: mention_count)
end
end