mirror of
https://github.com/internetee/registry.git
synced 2025-07-22 02:35:57 +02:00
Merge branch 'master' into 93-locked-domains-failed-after-fc
This commit is contained in:
commit
ab26100e78
24 changed files with 269 additions and 69 deletions
|
@ -8,7 +8,9 @@ module Api
|
|||
before_action :authorized_to_manage_locks?
|
||||
|
||||
def create
|
||||
if @domain.apply_registry_lock
|
||||
extensions_prohibited = params[:extensionsProhibited]
|
||||
|
||||
if @domain.apply_registry_lock(extensions_prohibited: extensions_prohibited.to_s.downcase == 'true')
|
||||
render json: serialized_domain(@domain)
|
||||
else
|
||||
render json: { errors: [{ base: ['Domain cannot be locked'] }] },
|
||||
|
|
40
app/jobs/replace_upd_to_obj_upd_prohibited_job.rb
Normal file
40
app/jobs/replace_upd_to_obj_upd_prohibited_job.rb
Normal file
|
@ -0,0 +1,40 @@
|
|||
class ReplaceUpdToObjUpdProhibitedJob < ApplicationJob
|
||||
def perform(rollback: false)
|
||||
logger.info 'Ran ReplaceUpdToObjUpdProhibitedJob!'
|
||||
|
||||
start_replace_status_for_locked_domains(rollback: rollback)
|
||||
end
|
||||
|
||||
|
||||
def start_replace_status_for_locked_domains(rollback:)
|
||||
count = 0
|
||||
Domain.all.find_in_batches do |domain_batches|
|
||||
count += domain_batches.count
|
||||
logger.info "Proccesing #{count} domains of #{Domain.count}"
|
||||
|
||||
domain_batches.each do |domain|
|
||||
if domain.locked_by_registrant?
|
||||
process_domain_status_replacment(domain: domain, rollback: rollback)
|
||||
end
|
||||
end
|
||||
|
||||
logger.info "Successfully proccesed #{count} domains of #{Domain.count}"
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def process_domain_status_replacment(domain:, rollback:)
|
||||
domain.statuses = domain.statuses - ["serverUpdateProhibited"] + ["serverObjUpdateProhibited"] unless rollback
|
||||
domain.statuses = domain.statuses - ["serverObjUpdateProhibited"] + ["serverUpdateProhibited"] if rollback
|
||||
if domain.save
|
||||
logger.info "#{domain.name} has next statuses #{domain.statuses}"
|
||||
else
|
||||
logger.warn "#{domain.name} - something goes wrong!"
|
||||
end
|
||||
end
|
||||
|
||||
def logger
|
||||
@logger ||= Logger.new(Rails.root.join('log/replace_upd_to_obj_upd_prohibited.log'))
|
||||
end
|
||||
end
|
|
@ -1,7 +1,7 @@
|
|||
module Domain::RegistryLockable
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
LOCK_STATUSES = if Feature.obj_and_extensions_statuses_enabled?
|
||||
LOCK_STATUSES = if Feature.enable_lock_domain_with_new_statuses?
|
||||
[DomainStatus::SERVER_OBJ_UPDATE_PROHIBITED,
|
||||
DomainStatus::SERVER_DELETE_PROHIBITED,
|
||||
DomainStatus::SERVER_TRANSFER_PROHIBITED].freeze
|
||||
|
@ -11,20 +11,26 @@ module Domain::RegistryLockable
|
|||
DomainStatus::SERVER_TRANSFER_PROHIBITED].freeze
|
||||
end
|
||||
|
||||
def apply_registry_lock
|
||||
EXTENSIONS_STATUS = [DomainStatus::SERVER_EXTENSION_UPDATE_PROHIBITED].freeze
|
||||
|
||||
def apply_registry_lock(extensions_prohibited:)
|
||||
return unless registry_lockable?
|
||||
return if locked_by_registrant?
|
||||
|
||||
transaction do
|
||||
self.admin_store_statuses_history = self.statuses
|
||||
self.statuses |= LOCK_STATUSES
|
||||
self.locked_by_registrant_at = Time.zone.now
|
||||
alert_registrar_lock_changes!(lock: true)
|
||||
|
||||
save!
|
||||
apply_statuses_locked_statuses(extensions_prohibited: extensions_prohibited)
|
||||
end
|
||||
end
|
||||
|
||||
def apply_statuses_locked_statuses(extensions_prohibited:)
|
||||
self.statuses |= LOCK_STATUSES
|
||||
self.statuses |= EXTENSIONS_STATUS if Feature.obj_and_extensions_statuses_enabled? && extensions_prohibited
|
||||
self.locked_by_registrant_at = Time.zone.now
|
||||
alert_registrar_lock_changes!(lock: true)
|
||||
|
||||
save!
|
||||
end
|
||||
|
||||
def registry_lockable?
|
||||
(statuses & [DomainStatus::PENDING_DELETE_CONFIRMATION,
|
||||
DomainStatus::PENDING_CREATE, DomainStatus::PENDING_UPDATE,
|
||||
|
@ -42,17 +48,23 @@ module Domain::RegistryLockable
|
|||
return unless locked_by_registrant?
|
||||
|
||||
transaction do
|
||||
LOCK_STATUSES.each do |domain_status|
|
||||
statuses.delete([domain_status])
|
||||
end
|
||||
self.locked_by_registrant_at = nil
|
||||
self.statuses = admin_store_statuses_history || []
|
||||
alert_registrar_lock_changes!(lock: false)
|
||||
|
||||
save!
|
||||
remove_statuses_from_locked_domain
|
||||
end
|
||||
end
|
||||
|
||||
def remove_statuses_from_locked_domain
|
||||
LOCK_STATUSES.each do |domain_status|
|
||||
statuses.delete([domain_status])
|
||||
end
|
||||
|
||||
statuses.delete([EXTENSIONS_STATUS]) if statuses.include? EXTENSIONS_STATUS
|
||||
self.locked_by_registrant_at = nil
|
||||
self.statuses = admin_store_statuses_history || []
|
||||
alert_registrar_lock_changes!(lock: false)
|
||||
|
||||
save!
|
||||
end
|
||||
|
||||
def alert_registrar_lock_changes!(lock: true)
|
||||
translation = lock ? 'locked' : 'unlocked'
|
||||
registrar.notifications.create!(
|
||||
|
|
|
@ -4,4 +4,10 @@ class Feature
|
|||
|
||||
ENV['obj_and_extensions_prohibited'] || false
|
||||
end
|
||||
|
||||
def self.enable_lock_domain_with_new_statuses?
|
||||
return false if ENV['enable_lock_domain_with_new_statuses'] == 'false'
|
||||
|
||||
ENV['enable_lock_domain_with_new_statuses'] || false
|
||||
end
|
||||
end
|
||||
|
|
|
@ -23,7 +23,7 @@ class RegistrantUser < User
|
|||
company_register.representation_rights(citizen_personal_code: ident,
|
||||
citizen_country_code: country.alpha3)
|
||||
end
|
||||
|
||||
|
||||
def contacts(representable: true)
|
||||
Contact.registrant_user_contacts(self, representable: representable)
|
||||
end
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<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>
|
||||
<p>Ülevaate kõikidest endaga seotud domeenidest saate <a href="https://registrant.internet.ee/">registreerija portaalist</a>.</p>
|
||||
|
||||
<%= render 'mailers/shared/signatures/signature.et.html' %>
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
|||
<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>
|
||||
<p>You can find an overview of all your domains at the <a href="https://registrant.internet.ee/">registrant's portal</a>.</p>
|
||||
|
||||
<%= render 'mailers/shared/signatures/signature.en.html' %>
|
||||
|
||||
|
@ -43,6 +43,6 @@
|
|||
<p>Pегистратор домена <%= @domain.name %>:</p>
|
||||
<%= render 'mailers/shared/registrar/registrar.ru.html', registrar: @registrar %>
|
||||
|
||||
<p>Обзор всех связанных с вами доменов можете получить на <a href="https://registrant.internet.ee/registrant/">портале регистратора.</a></p>
|
||||
<p>Обзор всех связанных с вами доменов можете получить на <a href="https://registrant.internet.ee/">портале регистратора.</a></p>
|
||||
|
||||
<%= render 'mailers/shared/signatures/signature.ru.html' %>
|
||||
|
|
|
@ -9,7 +9,7 @@ Domeeninimi <%= @domain.name %> on aegunud ja ei ole alates <%= @domain.on_hold_
|
|||
Domeeni <%= @domain.name %> registripidaja:
|
||||
<%= render 'mailers/shared/registrar/registrar.et.text', registrar: @registrar %>
|
||||
|
||||
Ülevaate kõikidest endaga seotud domeenidest saate registreerija portaalist https://registrant.internet.ee/registrant/.
|
||||
Ülevaate kõikidest endaga seotud domeenidest saate registreerija portaalist https://registrant.internet.ee/.
|
||||
|
||||
<%= render 'mailers/shared/signatures/signature.et.text' %>
|
||||
|
||||
|
@ -26,7 +26,7 @@ If you do not renew the <%= @domain.name %> domain registration, it is deleted a
|
|||
Registrar of the <%= @domain.name %>:
|
||||
<%= render 'mailers/shared/registrar/registrar.en.text', registrar: @registrar %>
|
||||
|
||||
You can find an overview of all your domains at the registrant's portal https://registrant.internet.ee/registrant/.
|
||||
You can find an overview of all your domains at the registrant's portal https://registrant.internet.ee/.
|
||||
|
||||
<%= render 'mailers/shared/signatures/signature.en.text' %>
|
||||
|
||||
|
@ -43,6 +43,6 @@ You can find an overview of all your domains at the registrant's portal https://
|
|||
Pегистратор домена <%= @domain.name %>:
|
||||
<%= render 'mailers/shared/registrar/registrar.ru.text', registrar: @registrar %>
|
||||
|
||||
Обзор всех связанных с вами доменов можете получить на портале регистратора https://registrant.internet.ee/registrant/
|
||||
Обзор всех связанных с вами доменов можете получить на портале регистратора https://registrant.internet.ee/.
|
||||
|
||||
<%= render 'mailers/shared/signatures/signature.ru.text' %>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<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>
|
||||
<p>Ülevaate kõikidest endaga seotud domeenidest saate <a href="https://registrant.internet.ee/">registreerija portaalist</a>.</p>
|
||||
|
||||
<%= render 'mailers/shared/signatures/signature.et.html' %>
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
|||
<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>
|
||||
<p>You can find an overview of all your domains at the <a href="https://registrant.internet.ee/">registrant's portal</a>.</p>
|
||||
|
||||
<%= render 'mailers/shared/signatures/signature.en.html' %>
|
||||
|
||||
|
@ -43,6 +43,6 @@
|
|||
<p>Pегистратор домена <%= @domain.name %>:</p>
|
||||
<%= render 'mailers/shared/registrar/registrar.ru.html', registrar: @registrar %>
|
||||
|
||||
<p>Обзор всех связанных с вами доменов можете получить на <a href="https://registrant.internet.ee/registrant/">портале регистратора.</a></p>
|
||||
<p>Обзор всех связанных с вами доменов можете получить на <a href="https://registrant.internet.ee/">портале регистратора.</a></p>
|
||||
|
||||
<%= render 'mailers/shared/signatures/signature.ru.html' %>
|
||||
|
|
|
@ -9,7 +9,7 @@ Domeeninimi <%= @domain.name %> on aegunud ja ei ole alates <%= @domain.on_hold_
|
|||
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/.
|
||||
Ülevaate kõikidest endaga seotud domeenidest saate registreerija portaalist https://registrant.internet.ee/.
|
||||
|
||||
<%= render 'mailers/shared/signatures/signature.et.html' %>
|
||||
|
||||
|
@ -26,7 +26,7 @@ If you do not renew the <%= @domain.name %> domain registration, it is deleted a
|
|||
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/.
|
||||
You can find an overview of all your domains at the registrant's portal https://registrant.internet.ee/.
|
||||
|
||||
<%= render 'mailers/shared/signatures/signature.en.html' %>
|
||||
|
||||
|
@ -43,6 +43,6 @@ You can find an overview of all your domains at the registrant's portal https://
|
|||
Pегистратор домена <%= @domain.name %>:
|
||||
<%= render 'mailers/shared/registrar/registrar.ru.html', registrar: @registrar %>
|
||||
|
||||
Обзор всех связанных с вами доменов можете получить на портале регистратора https://registrant.internet.ee/registrant/.
|
||||
Обзор всех связанных с вами доменов можете получить на портале регистратора https://registrant.internet.ee/.
|
||||
|
||||
<%= render 'mailers/shared/signatures/signature.ru.html' %>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue