From 66d1659925a247456392677e5abae25fca44ab01 Mon Sep 17 00:00:00 2001 From: Shimon Shtein Date: Tue, 13 Nov 2018 12:03:33 +0200 Subject: [PATCH] Fixes #25440 - Remove hosts list from host bulk actions --- .../katello/api/v2/hosts_bulk_actions_controller.rb | 5 +++++ .../api/v2/hosts_bulk_actions/erratum.json.rabl | 10 ++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb b/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb index 134a16fdee6..348609c7494 100644 --- a/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb +++ b/app/controllers/katello/api/v2/hosts_bulk_actions_controller.rb @@ -15,6 +15,7 @@ class Api::V2::HostsBulkActionsController < Api::V2::ApiController # disable *_count fields on erratum rabl, since they perform N+1 queries before_action :disable_erratum_hosts_count + before_action :set_compatibility_mode resource_description do api_version 'v2' @@ -342,5 +343,9 @@ def find_content_view def disable_erratum_hosts_count @disable_counts = true end + + def set_compatibility_mode + @compatibility_mode = params[:compatibility_mode] + end end end diff --git a/app/views/katello/api/v2/hosts_bulk_actions/erratum.json.rabl b/app/views/katello/api/v2/hosts_bulk_actions/erratum.json.rabl index f1ce0ec0fc2..8f7b69e4156 100644 --- a/app/views/katello/api/v2/hosts_bulk_actions/erratum.json.rabl +++ b/app/views/katello/api/v2/hosts_bulk_actions/erratum.json.rabl @@ -1,9 +1,11 @@ extends "katello/api/v2/errata/show" -node :applicable_hosts do |erratum| - erratum.hosts_available.where("#{::Host.table_name}.id" => @hosts). - select(["#{::Host.table_name}.id", "#{::Host.table_name}.name"]). - collect { |host| {:name => host.name, :id => host.id} } +if @compatibility_mode + node :applicable_hosts do |erratum| + erratum.hosts_available.where("#{::Host.table_name}.id" => @hosts). + select(["#{::Host.table_name}.id", "#{::Host.table_name}.name"]). + collect { |host| {:name => host.name, :id => host.id} } + end end node(:affected_hosts_count) { |erratum| erratum.hosts_available(params[:organization_id]).where("#{::Host.table_name}.id" => @hosts).count }