diff --git a/app/controllers/admin/domains_controller.rb b/app/controllers/admin/domains_controller.rb index 9237d61af..0718d600a 100644 --- a/app/controllers/admin/domains_controller.rb +++ b/app/controllers/admin/domains_controller.rb @@ -1,6 +1,6 @@ module Admin class DomainsController < BaseController - before_action :set_domain, only: %i[show edit update] + before_action :set_domain, only: %i[show edit update keep] authorize_resource helper_method :force_delete_templates @@ -68,6 +68,11 @@ module Admin @versions = @domain.versions end + def keep + @domain.keep + redirect_to edit_admin_domain_url(@domain), notice: t('.kept') + end + private def set_domain diff --git a/app/models/domain_status.rb b/app/models/domain_status.rb index 4da6a4a3c..3c4e09beb 100644 --- a/app/models/domain_status.rb +++ b/app/models/domain_status.rb @@ -175,7 +175,8 @@ class DomainStatus < ActiveRecord::Base PENDING_RENEW, PENDING_TRANSFER, PENDING_UPDATE, - PENDING_DELETE_CONFIRMATION + PENDING_DELETE_CONFIRMATION, + DELETE_CANDIDATE, ] end end diff --git a/app/presenters/domain_presenter.rb b/app/presenters/domain_presenter.rb index 2ecb82922..11d767203 100644 --- a/app/presenters/domain_presenter.rb +++ b/app/presenters/domain_presenter.rb @@ -67,6 +67,15 @@ class DomainPresenter end end + def keep_btn + return unless domain.discarded? + + view.link_to view.t('admin.domains.edit.keep_btn'), view.keep_admin_domain_path(@domain), + method: :patch, + data: { confirm: view.t('admin.domains.edit.keep_btn_confirm') }, + class: 'btn btn-default' + end + private attr_reader :domain diff --git a/app/views/admin/domains/edit.html.erb b/app/views/admin/domains/edit.html.erb index 6593f431b..24735734c 100644 --- a/app/views/admin/domains/edit.html.erb +++ b/app/views/admin/domains/edit.html.erb @@ -7,12 +7,13 @@