Merge branch 'registry-791' into registry-790

# Conflicts:
#	app/views/admin/domains/edit.html.erb
#	config/locales/admin/domains.en.yml
This commit is contained in:
Artur Beljajev 2018-08-09 16:42:43 +03:00
commit 732997bf9e
6 changed files with 27 additions and 20 deletions

View file

@ -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

View file

@ -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

View file

@ -7,11 +7,11 @@
<div class="page-header">
<div class="row">
<div class="col-sm-3">
<h1>Edit: <%= domain.name %></h1>
<div class="col-sm-4">
<h1><%= t '.header', domain: domain.name %></h1>
</div>
<div class="col-sm-9 text-right">
<div class="col-sm-8 text-right">
<%= link_to t('.add_new_status_btn'), '#', class: 'btn btn-primary js-add-status' %>
<%= domain.keep_btn %>
<%= domain.force_delete_toggle_btn %>
@ -20,4 +20,4 @@
</div>
<%= render 'form' %>
<%= render 'force_delete_dialog', domain: @domain, templates: force_delete_templates %>
<%= render 'force_delete_dialog', domain: @domain, templates: force_delete_templates %>

View file

@ -13,6 +13,7 @@ en:
reset_btn: Reset
edit:
header: "Edit: %{domain}"
add_new_status_btn: Add new status
keep_btn: Remove deleteCandidate status
keep_btn_confirm: Are you sure you want to remove deleteCandidate status?
@ -51,3 +52,5 @@ en:
schedule: Schedule force delete
cancel: Cancel force delete
cancel_confirm: Are you sure you want cancel force delete procedure?
unable_to_cancel: >
Force delete procedure cannot be cancelled while a domain has deleteCandidate status

View file

@ -73,16 +73,8 @@ class DomainForceDeleteTest < ActiveSupport::TestCase
assert @domain.force_delete_scheduled?
end
def test_cancelling_force_delete_on_a_discarded_domain
def test_force_delete_cannot_be_cancelled_when_a_domain_is_discarded
@domain.discard
@domain.schedule_force_delete
@domain.cancel_force_delete
@domain.reload
assert_not @domain.force_delete_scheduled?
assert_nil @domain.force_delete_at
end
def test_cancelling_force_delete_requires_a_domain_to_be_discarded
@domain.schedule_force_delete
assert_raises StandardError do
@domain.cancel_force_delete
@ -91,7 +83,6 @@ class DomainForceDeleteTest < ActiveSupport::TestCase
def test_cancelling_force_delete_bypasses_validation
@domain = domains(:invalid)
@domain.discard
@domain.schedule_force_delete
@domain.cancel_force_delete
assert_not @domain.force_delete_scheduled?
@ -106,7 +97,6 @@ class DomainForceDeleteTest < ActiveSupport::TestCase
DomainStatus::PENDING_DELETE,
DomainStatus::SERVER_MANUAL_INZONE
]
@domain.discard
@domain.statuses = @domain.statuses + statuses
@domain.schedule_force_delete
@ -117,7 +107,6 @@ class DomainForceDeleteTest < ActiveSupport::TestCase
end
def test_cancelling_force_delete_restores_statuses_that_a_domain_had_before_force_delete
@domain.discard
@domain.statuses_before_force_delete = ['test1', DomainStatus::DELETE_CANDIDATE]
@domain.cancel_force_delete

View file

@ -44,7 +44,6 @@ class AdminAreaDomainForceDeleteTest < ApplicationSystemTestCase
end
def test_cancels_scheduled_domain_force_delete
@domain.discard
@domain.schedule_force_delete
visit edit_admin_domain_url(@domain)
@ -55,4 +54,13 @@ class AdminAreaDomainForceDeleteTest < ApplicationSystemTestCase
assert_current_path edit_admin_domain_path(@domain)
assert_text 'Force delete procedure has been cancelled'
end
end
def test_force_delete_cannot_be_cancelled_when_a_domain_is_discarded
@domain.discard
@domain.schedule_force_delete
visit edit_admin_domain_url(@domain)
assert_no_button 'Cancel force delete'
assert_no_link 'Cancel force delete'
end
end