Skip to content

Commit

Permalink
Fixes #36826 - fix subs entitlement report for SCA
Browse files Browse the repository at this point in the history
* and rename it to Host - Products and Subscriptions
  • Loading branch information
ianballou committed Oct 13, 2023
1 parent d329c93 commit f2cf84b
Show file tree
Hide file tree
Showing 3 changed files with 94 additions and 56 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
<%#
name: Host - Products and Subscriptions
snippet: false
model: ReportTemplate
template_inputs:
- name: Hosts filter
required: false
input_type: user
description: For organizations using SCA, limit the report only on hosts found by this search query. Keep empty
to report on all available hosts.
advanced: false
value_type: search
resource_type: Host
require:
- plugin: katello
version: 4.11.0
-%>
<%- report_headers 'Host Name', 'Organization', 'Lifecycle Environment', 'Content View', 'Host Collections', 'Virtual', 'Guest of Host', 'OS', 'Arch', 'Sockets', 'RAM', 'Cores', 'SLA', 'Role', 'Usage', 'Products', 'Last Checkin', 'Subscription Name', 'Subscription Type', 'Subscription Total Quantity', 'Subscription Total Consumed', 'Subscriptions Consumed by Host', 'Subscription SKU', 'Subscription Contract', 'Subscription Account', 'Subscription Start', 'Subscription End', 'Subscription Guest', 'Days Remaining' -%>
<%- load_hosts(search: input('Hosts filter'), includes: [:operatingsystem, :architecture, :content_view_environments, :organization, :reported_data, :subscription_facet, :pools => [:subscription]]).each_record do |host| -%>
<%- if host.organization.simple_content_access? -%>
<%- report_row(
'Host Name': host.name,
'Organization': host.organization,
'Lifecycle Environment': host.single_lifecycle_environment,
'Content View': host.single_content_view,
'Host Collections': host_collections_names(host),
'Virtual': host.virtual,
'Guest of Host': host.hypervisor_host,
'OS': host.operatingsystem,
'Arch': host.architecture,
'Sockets': host.sockets,
'RAM': host.ram,
'Cores': host.cores,
'SLA': host_sla(host),
'Role': host.purpose_role_status_label,
'Usage': host.purpose_usage_status_label,
'Products': host_products_names_and_ids(host),
'Last Checkin': last_checkin(host).to_s,
) -%>
<%- else -%>
<%- report_row(
'Host Name': host.name,
'Organization': host.organization,
'Lifecycle Environment': host.single_lifecycle_environment.name,
'Content View': host.single_content_view.name,
'Host Collections': host_collections_names(host),
'Virtual': host.virtual,
'Guest of Host': host.hypervisor_host,
'OS': host.operatingsystem,
'Arch': host.architecture,
'Sockets': host.sockets,
'RAM': host.ram,
'Cores': host.cores,
'SLA': host_sla(host),
'Role': host.purpose_role_status_label,
'Usage': host.purpose_usage_status_label,
'Products': host_products_names_and_ids(host),
'Last Checkin': last_checkin(host).to_s,
'Subscription Name': sub_name(pool),
'Subscription Type': pool.type,
'Subscription Total Quantity': pool.quantity,
'Subscription Total Consumed': pool.consumed,
'Subscriptions Consumed by Host': host.filtered_entitlement_quantity_consumed(pool),
'Subscription SKU': sub_sku(pool),
'Subscription Contract': pool.contract_number,
'Subscription Account': pool.account_number,
'Subscription Start': pool.start_date,
'Subscription End': pool.end_date,
'Subscription Guest': registered_through(host),
'Days Remaining': pool.days_until_expiration
) -%>
<%- end -%>
<%- end -%>
<%= report_render -%>

This file was deleted.

20 changes: 20 additions & 0 deletions db/migrate/20231013000000_rename_subs_entitlement_report.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
class RenameSubsEntitlementReport < ActiveRecord::Migration[6.1]
TEMPLATE_NAMES = {
"Subscription - Entitlement Report" => "Host - Products and Subcriptions"
}

def up
TEMPLATE_NAMES.each do |from, to|
token = SecureRandom.base64(5)
ReportTemplate.unscoped.find_by(name: to)&.update_columns(:name => "#{to} Backup #{token}")
ReportTemplate.unscoped.find_by(name: from)&.update_columns(:name => to)
end
end

def down
TEMPLATE_NAMES.each do |from, to|
ReportTemplate.unscoped.find_by(name: from)&.delete
ReportTemplate.unscoped.find_by(name: to)&.update_columns(:name => from)
end
end
end

0 comments on commit f2cf84b

Please sign in to comment.