diff --git a/app/models/custom_button.rb b/app/models/custom_button.rb index 9c3f9f057a00..34a0206a4a36 100644 --- a/app/models/custom_button.rb +++ b/app/models/custom_button.rb @@ -15,6 +15,8 @@ class CustomButton < ApplicationRecord validates :name, :description, :uniqueness => {:scope => [:applies_to_class, :applies_to_id]}, :presence => true validates :guid, :uniqueness => true, :presence => true + after_destroy :cleanup_resource_actions + include UuidMixin acts_as_miq_set_member @@ -238,4 +240,10 @@ def self.display_name(number = 1) def open_url? options[:open_url] == true end + + private + + def cleanup_resource_actions + resource_action.destroy + end end diff --git a/app/models/dialog.rb b/app/models/dialog.rb index 046a35f78381..aa2e13030af0 100644 --- a/app/models/dialog.rb +++ b/app/models/dialog.rb @@ -182,7 +182,7 @@ def dialog_field_hash def reject_if_has_resource_actions if resource_actions.length > 0 - raise _("Dialog cannot be deleted because it is connected to other components.") + raise _("Dialog cannot be deleted because it is connected to other components: #{resource_actions.each.pluck(:resource_id, :resource_type).flatten}") end end