mirror of
https://github.com/internetee/registry.git
synced 2025-06-10 14:44:47 +02:00
parent
880ce2ed62
commit
e0960bcca4
10 changed files with 54 additions and 85 deletions
39
app/controllers/admin/domains/force_delete_controller.rb
Normal file
39
app/controllers/admin/domains/force_delete_controller.rb
Normal file
|
@ -0,0 +1,39 @@
|
|||
module Admin
|
||||
module Domains
|
||||
class ForceDeleteController < BaseController
|
||||
def create
|
||||
authorize! :manage, domain
|
||||
|
||||
domain.transaction do
|
||||
domain.schedule_force_delete
|
||||
domain.registrar.messages.create!(body: t('force_delete_set_on_domain', domain_name: domain.name))
|
||||
|
||||
if notify_by_email?
|
||||
DomainDeleteMailer.forced(domain: domain,
|
||||
registrar: domain.registrar,
|
||||
registrant: domain.registrant,
|
||||
template_name: params[:template_name]).deliver_now
|
||||
end
|
||||
end
|
||||
|
||||
redirect_to edit_admin_domain_url(domain), notice: t('.scheduled')
|
||||
end
|
||||
|
||||
def destroy
|
||||
authorize! :manage, domain
|
||||
domain.cancel_force_delete
|
||||
redirect_to edit_admin_domain_url(domain), notice: t('.cancelled')
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def domain
|
||||
@domain ||= Domain.find(params[:domain_id])
|
||||
end
|
||||
|
||||
def notify_by_email?
|
||||
ActiveRecord::Type::Boolean.new.type_cast_from_user(params[:notify_by_email])
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -62,34 +62,6 @@ module Admin
|
|||
end
|
||||
end
|
||||
|
||||
def schedule_force_delete
|
||||
raise 'Template param cannot be empty' if params[:template_name].blank?
|
||||
|
||||
@domain.transaction do
|
||||
@domain.schedule_force_delete
|
||||
@domain.registrar.messages.create!(body: I18n.t('force_delete_set_on_domain', domain_name: @domain.name))
|
||||
|
||||
if notify_by_email?
|
||||
DomainDeleteMailer.forced(domain: @domain,
|
||||
registrar: @domain.registrar,
|
||||
registrant: @domain.registrant,
|
||||
template_name: params[:template_name]).deliver_now
|
||||
end
|
||||
end
|
||||
|
||||
redirect_to edit_admin_domain_url(@domain), notice: t('.scheduled')
|
||||
end
|
||||
|
||||
def cancel_force_delete
|
||||
if @domain.cancel_force_delete
|
||||
flash[:notice] = t('.cancelled')
|
||||
else
|
||||
flash.now[:alert] = I18n.t('failed_to_update_domain')
|
||||
end
|
||||
|
||||
redirect_to edit_admin_domain_url(@domain)
|
||||
end
|
||||
|
||||
def versions
|
||||
@domain = Domain.where(id: params[:domain_id]).includes({ versions: :item }).first
|
||||
@versions = @domain.versions
|
||||
|
@ -138,9 +110,5 @@ module Admin
|
|||
def force_delete_templates
|
||||
%w(removed_company death)
|
||||
end
|
||||
|
||||
def notify_by_email?
|
||||
ActiveRecord::Type::Boolean.new.type_cast_from_user(params[:notify_by_email])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue