mirror of
https://github.com/internetee/registry.git
synced 2025-06-10 06:34:46 +02:00
Merge pull request #1124 from internetee/refactor-force-delete
Refactor force delete
This commit is contained in:
commit
176d1671b5
24 changed files with 86 additions and 52 deletions
|
@ -12,8 +12,7 @@ module Concerns::Domain::ForceDelete
|
|||
|
||||
preserve_current_statuses_for_force_delete
|
||||
add_force_delete_statuses
|
||||
self.force_delete_at = (Time.zone.now + (Setting.redemption_grace_period.days + 1.day)).utc
|
||||
.beginning_of_day
|
||||
self.force_delete_date = Time.zone.today + Setting.redemption_grace_period.days + 1.day
|
||||
stop_all_pending_actions
|
||||
allow_deletion
|
||||
save(validate: false)
|
||||
|
@ -22,7 +21,7 @@ module Concerns::Domain::ForceDelete
|
|||
def cancel_force_delete
|
||||
restore_statuses_before_force_delete
|
||||
remove_force_delete_statuses
|
||||
self.force_delete_at = nil
|
||||
self.force_delete_date = nil
|
||||
save(validate: false)
|
||||
end
|
||||
|
||||
|
|
|
@ -15,13 +15,17 @@ module Concerns
|
|||
|
||||
def releasable_domains
|
||||
if release_to_auction
|
||||
where('delete_at < ? AND ? != ALL(coalesce(statuses, array[]::varchar[]))',
|
||||
where('(delete_at < ? OR force_delete_date <= ?)' \
|
||||
' AND ? != ALL(coalesce(statuses, array[]::varchar[]))',
|
||||
Time.zone.now,
|
||||
Time.zone.today,
|
||||
DomainStatus::SERVER_DELETE_PROHIBITED)
|
||||
else
|
||||
where('delete_at < ? AND ? != ALL(coalesce(statuses, array[]::varchar[])) AND' \
|
||||
where('(delete_at < ? OR force_delete_date <= ?)' \
|
||||
' AND ? != ALL(coalesce(statuses, array[]::varchar[])) AND' \
|
||||
' ? != ALL(COALESCE(statuses, array[]::varchar[]))',
|
||||
Time.zone.now,
|
||||
Time.zone.today,
|
||||
DomainStatus::SERVER_DELETE_PROHIBITED,
|
||||
DomainStatus::DELETE_CANDIDATE)
|
||||
end
|
||||
|
|
|
@ -501,7 +501,7 @@ class Domain < ActiveRecord::Base
|
|||
when DomainStatus::PENDING_DELETE
|
||||
self.delete_at = nil
|
||||
when DomainStatus::SERVER_MANUAL_INZONE # removal causes server hold to set
|
||||
self.outzone_at = Time.zone.now if self.force_delete_at.present?
|
||||
self.outzone_at = Time.zone.now if force_delete_scheduled?
|
||||
when DomainStatus::DomainStatus::EXPIRED # removal causes server hold to set
|
||||
self.outzone_at = self.expire_time + 15.day
|
||||
when DomainStatus::DomainStatus::SERVER_HOLD # removal causes server hold to set
|
||||
|
|
|
@ -78,18 +78,4 @@ class DomainCron
|
|||
STDOUT << "#{Time.zone.now.utc} - Successfully set server_hold to #{marked} of #{real} domains\n" unless Rails.env.test?
|
||||
marked
|
||||
end
|
||||
|
||||
def self.destroy_delete_candidates
|
||||
STDOUT << "#{Time.zone.now.utc} - Destroying domains\n" unless Rails.env.test?
|
||||
|
||||
c = 0
|
||||
|
||||
Domain.where('force_delete_at <= ?', Time.zone.now.end_of_day.utc).each do |x|
|
||||
DomainDeleteJob.enqueue(x.id, run_at: rand(((24*60) - (DateTime.now.hour * 60 + DateTime.now.minute))).minutes.from_now)
|
||||
STDOUT << "#{Time.zone.now.utc} DomainCron.destroy_delete_candidates: job added by force delete time ##{x.id} (#{x.name})\n" unless Rails.env.test?
|
||||
c += 1
|
||||
end
|
||||
|
||||
STDOUT << "#{Time.zone.now.utc} - Job destroy added for #{c} domains\n" unless Rails.env.test?
|
||||
end
|
||||
end
|
||||
|
|
|
@ -40,7 +40,8 @@ class WhoisRecord < ActiveRecord::Base
|
|||
h[:changed] = domain.updated_at.try(:to_s, :iso8601)
|
||||
h[:expire] = domain.valid_to.to_date.to_s
|
||||
h[:outzone] = domain.outzone_at.try(:to_date).try(:to_s)
|
||||
h[:delete] = [domain.delete_at, domain.force_delete_at].compact.min.try(:to_date).try(:to_s)
|
||||
h[:delete] = [domain.delete_at, domain.force_delete_date].compact.min.try(:to_date)
|
||||
.try(:to_s)
|
||||
|
||||
h[:registrant] = registrant.name
|
||||
h[:registrant_kind] = registrant.kind
|
||||
|
|
|
@ -39,7 +39,7 @@ class DomainPresenter
|
|||
end
|
||||
|
||||
def force_delete_date
|
||||
view.l(domain.force_delete_at, format: :date) if domain.force_delete_at
|
||||
view.l(domain.force_delete_date) if domain.force_delete_scheduled?
|
||||
end
|
||||
|
||||
def admin_contact_names
|
||||
|
|
|
@ -31,8 +31,8 @@
|
|||
<dt><%= t('.delete_time') %></dt>
|
||||
<dd><%= l(@domain.delete_at) %></dd>
|
||||
|
||||
<dt><%= Domain.human_attribute_name :force_delete_at %></dt>
|
||||
<dd><%= l @domain.force_delete_at %></dd>
|
||||
<dt><%= Domain.human_attribute_name :force_delete_date %></dt>
|
||||
<dd><%= l @domain.force_delete_date %></dd>
|
||||
|
||||
<dt><%= t('.locked_by_registrant_at') %></dt>
|
||||
<dd><%= l(@domain.locked_by_registrant_at) %></dd>
|
||||
|
|
|
@ -31,8 +31,8 @@
|
|||
<dt><%= Domain.human_attribute_name :delete_at %></dt>
|
||||
<dd><%= l(@domain.delete_at) %></dd>
|
||||
|
||||
<dt><%= Domain.human_attribute_name :force_delete_at %></dt>
|
||||
<dd><%= l(@domain.force_delete_at) %></dd>
|
||||
<dt><%= Domain.human_attribute_name :force_delete_date %></dt>
|
||||
<dd><%= l @domain.force_delete_date %></dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue