Skip to content

Commit cc4c2a5

Browse files
committed
Merge pull request #10040 from GilbertCherrie/fix-snapshot-delete-button-enable
Fix the snapshot page delete toolbar button
2 parents 392868f + b3f8768 commit cc4c2a5

4 files changed

Lines changed: 26 additions & 11 deletions

File tree

app/controllers/application_controller/ci_processing.rb

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -512,6 +512,19 @@ def deleteallsnapsvms
512512
# Delete selected snapshot for vm
513513
def deletesnapsvms
514514
assert_privileges(params[:pressed])
515+
516+
snap_selected = Snapshot.find_by(:id => session[:snap_selected]) if session[:snap_selected]
517+
record = find_record_with_rbac(record_class, params[:id]) if params[:id]
518+
error_message = record.try(:remove_snapshot_denied_message, snap_selected.current?) if snap_selected
519+
if error_message
520+
javascript_flash(
521+
:text => error_message,
522+
:severity => :error,
523+
:scroll_top => true
524+
)
525+
return
526+
end
527+
515528
generic_button_operation('remove_snapshot', _('Delete Snapshot'), vm_button_action,
516529
@explorer ? {} : {:refresh_partial => 'vm_common/config'})
517530
end
@@ -520,6 +533,19 @@ def deletesnapsvms
520533
# Delete selected snapshot for vm
521534
def revertsnapsvms
522535
assert_privileges(params[:pressed])
536+
537+
snap_selected = Snapshot.find_by(:id => session[:snap_selected])
538+
record = find_record_with_rbac(record_class, params[:id])
539+
error_message = record.try(:revert_to_snapshot_denied_message, snap_selected.current?)
540+
if error_message
541+
javascript_flash(
542+
:text => error_message,
543+
:severity => :error,
544+
:scroll_top => true
545+
)
546+
return
547+
end
548+
523549
generic_button_operation('revert_to_snapshot', _('Revert to a Snapshot'), vm_button_action,
524550
@explorer ? {} : {:refresh_partial => 'vm_common/config'})
525551
end

app/helpers/application_helper/button/vm_snapshot_remove_one.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ class ApplicationHelper::Button::VmSnapshotRemoveOne < ApplicationHelper::Button
33

44
def disabled?
55
# TODO: move ovirt's @active special case into supports mechanism.
6-
@error_message = @record.try(:remove_snapshot_denied_message, @active)
76
@error_message ||= unless @record.supports?(:remove_snapshot)
87
@record.unsupported_reason(:remove_snapshot)
98
end

app/helpers/application_helper/button/vm_snapshot_revert.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ def visible?
88

99
def disabled?
1010
# TODO: move ovirt's @active special case into supports mechanism.
11-
@error_message = @record.try(:revert_to_snapshot_denied_message, @active)
1211
@error_message ||= unless @record.supports?(:revert_to_snapshot)
1312
@record.unsupported_reason(:revert_to_snapshot)
1413
end

spec/helpers/application_helper/buttons/vm_snapshot_remove_one_spec.rb

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,6 @@
1818
before { stub_supports(record.ext_management_system, :snapshots) }
1919
describe '#disabled?' do
2020
subject { button.disabled? }
21-
context 'when record.kind_of?(ManageIQ::Providers::Redhat::InfraManager::Vm)' do
22-
context 'when record is active' do
23-
it { is_expected.to be_truthy }
24-
end
25-
context 'when record is not active' do
26-
let(:active) { false }
27-
it { is_expected.to be_falsey }
28-
end
29-
end
3021
context 'when !record.kind_of?(ManageIQ::Providers::Redhat::InfraManager::Vm)' do
3122
let(:record) do
3223
record = FactoryBot.create(:vm_vmware, :ems_id => ems.id, :host_id => host.id)

0 commit comments

Comments
 (0)