diff --git a/app/models/concerns/domain/force_delete.rb b/app/models/concerns/domain/force_delete.rb index 45f45dab6..406b67924 100644 --- a/app/models/concerns/domain/force_delete.rb +++ b/app/models/concerns/domain/force_delete.rb @@ -16,7 +16,9 @@ module Concerns::Domain::ForceDelete end def cancel_force_delete - raise 'Domain must be discarded before cancelling force delete procedure' unless discarded? + if discarded? + raise StandardError, 'Force delete procedure cannot be cancelled while a domain is discarded' + end restore_statuses_before_force_delete remove_force_delete_statuses diff --git a/app/presenters/domain_presenter.rb b/app/presenters/domain_presenter.rb index 30441ec7d..7020125f8 100644 --- a/app/presenters/domain_presenter.rb +++ b/app/presenters/domain_presenter.rb @@ -58,12 +58,17 @@ class DomainPresenter target: '.domain-edit-force-delete-dialog', } ) - else + elsif !domain.discarded? view.link_to(view.t('admin.domains.force_delete_toggle_btn.cancel'), view.admin_domain_force_delete_path(domain), method: :delete, data: { confirm: view.t('admin.domains.force_delete_toggle_btn.cancel_confirm') }, class: 'btn btn-primary') + else + view.content_tag(:button, view.t('admin.domains.force_delete_toggle_btn.cancel'), + class: 'btn btn-default ', + title: view.t('admin.domains.force_delete_toggle_btn.unable_to_cancel'), + disabled: true) end end diff --git a/app/views/admin/domains/edit.html.erb b/app/views/admin/domains/edit.html.erb index 24735734c..5bbb9f241 100644 --- a/app/views/admin/domains/edit.html.erb +++ b/app/views/admin/domains/edit.html.erb @@ -7,11 +7,11 @@