Sha256: 49e09dbf42c7ce99992c4153f9cb18fde17215529d6663fe9ed060919a882ebf
Contents?: true
Size: 1.89 KB
Versions: 37
Compression:
Stored size: 1.89 KB
Contents
module Actions module Katello module Environment class Destroy < Actions::EntryAction middleware.use ::Actions::Middleware::RemoteAction input_format do param :id param :name end def plan(env, options = {}) fail env.errors.full_messages.join(" ") unless env.deletable? skip_repo_destroy = options.fetch(:skip_repo_destroy, false) organization_destroy = options.fetch(:organization_destroy, false) sequence do action_subject(env) concurrence do env.content_view_environments.each do |cve| plan_action(ContentView::Remove, cve.content_view, :content_view_environments => [cve], :skip_repo_destroy => skip_repo_destroy, :organization_destroy => organization_destroy) end end if organization_destroy delete_host_and_hostgroup_associations(environment: env) end plan_self end end def delete_host_and_hostgroup_associations(environment:) environment.hostgroups.delete_all host_ids = environment.hosts.ids ::Katello::Host::ContentFacet.where(:host_id => host_ids).delete_all ::Katello::Host::SubscriptionFacet.where(:host_id => host_ids).delete_all end def humanized_name _("Delete Lifecycle Environment") end def humanized_input ["'#{input['kt_environment']['name']}'"] + super end def finalize environment = ::Katello::KTEnvironment.find(input['kt_environment']['id']) # CapsuleLifecycleEnvironment can cause issues when auditing, it will try to associate the audit to the deleted taxonomy ::Katello::CapsuleLifecycleEnvironment.without_auditing do environment.destroy! end end end end end end
Version data entries
37 entries across 37 versions & 1 rubygems