From 4ac0713cca49090d051243334d61c2b4fa320b42 Mon Sep 17 00:00:00 2001 From: cmendible <266546+cmendible@users.noreply.github.com> Date: Tue, 17 Sep 2024 13:32:41 +0200 Subject: [PATCH] fixed #257 --- internal/renderers/excel/advisor.go | 19 +++++++++---------- internal/renderers/excel/cost.go | 19 +++++++++---------- internal/renderers/excel/defender.go | 19 +++++++++---------- internal/renderers/excel/impacted.go | 19 +++++++++---------- internal/renderers/excel/recommendations.go | 19 +++++++++---------- internal/renderers/excel/resourceTypes.go | 18 +++++++++--------- internal/renderers/excel/resources.go | 19 +++++++++---------- 7 files changed, 63 insertions(+), 69 deletions(-) diff --git a/internal/renderers/excel/advisor.go b/internal/renderers/excel/advisor.go index 57783a05..54b877da 100644 --- a/internal/renderers/excel/advisor.go +++ b/internal/renderers/excel/advisor.go @@ -12,18 +12,17 @@ import ( ) func renderAdvisor(f *excelize.File, data *renderers.ReportData) { - if len(data.AdvisorData) > 0 { - _, err := f.NewSheet("Advisor") - if err != nil { - log.Fatal().Err(err).Msg("Failed to create Advisor sheet") - } - - records := data.AdvisorTable() - headers := records[0] - records = records[1:] + _, err := f.NewSheet("Advisor") + if err != nil { + log.Fatal().Err(err).Msg("Failed to create Advisor sheet") + } - createFirstRow(f, "Advisor", headers) + records := data.AdvisorTable() + headers := records[0] + createFirstRow(f, "Advisor", headers) + if len(data.AdvisorData) > 0 { + records = records[1:] currentRow := 4 for _, row := range records { currentRow += 1 diff --git a/internal/renderers/excel/cost.go b/internal/renderers/excel/cost.go index 29301519..a482b0aa 100644 --- a/internal/renderers/excel/cost.go +++ b/internal/renderers/excel/cost.go @@ -12,18 +12,17 @@ import ( ) func renderCosts(f *excelize.File, data *renderers.ReportData) { - if data.CostData != nil && len(data.CostData.Items) > 0 { - _, err := f.NewSheet("Costs") - if err != nil { - log.Fatal().Err(err).Msg("Failed to create Costs sheet") - } + _, err := f.NewSheet("Costs") + if err != nil { + log.Fatal().Err(err).Msg("Failed to create Costs sheet") + } - records := data.CostTable() - headers := records[0] + records := data.CostTable() + headers := records[0] + createFirstRow(f, "Costs", headers) + + if data.CostData != nil && len(data.CostData.Items) > 0 { records = records[1:] - - createFirstRow(f, "Costs", headers) - currentRow := 4 for _, row := range records { currentRow += 1 diff --git a/internal/renderers/excel/defender.go b/internal/renderers/excel/defender.go index 931b22cc..2b4163ad 100644 --- a/internal/renderers/excel/defender.go +++ b/internal/renderers/excel/defender.go @@ -12,18 +12,17 @@ import ( ) func renderDefender(f *excelize.File, data *renderers.ReportData) { - if len(data.DefenderData) > 0 { - _, err := f.NewSheet("Defender") - if err != nil { - log.Fatal().Err(err).Msg("Failed to create Defender sheet") - } - - records := data.DefenderTable() - headers := records[0] - records = records[1:] + _, err := f.NewSheet("Defender") + if err != nil { + log.Fatal().Err(err).Msg("Failed to create Defender sheet") + } - createFirstRow(f, "Defender", headers) + records := data.DefenderTable() + headers := records[0] + createFirstRow(f, "Defender", headers) + if len(data.DefenderData) > 0 { + records = records[1:] currentRow := 4 for _, row := range records { currentRow += 1 diff --git a/internal/renderers/excel/impacted.go b/internal/renderers/excel/impacted.go index a52cd942..005ddc52 100644 --- a/internal/renderers/excel/impacted.go +++ b/internal/renderers/excel/impacted.go @@ -13,18 +13,17 @@ import ( func renderImpactedResources(f *excelize.File, data *renderers.ReportData) { sheetName := "ImpactedResources" - if len(data.AprlData) > 0 { - _, err := f.NewSheet(sheetName) - if err != nil { - log.Fatal().Err(err).Msg("Failed to create APRL sheet") - } - - records := data.ImpactedTable() - headers := records[0] - records = records[1:] + _, err := f.NewSheet(sheetName) + if err != nil { + log.Fatal().Err(err).Msg("Failed to create APRL sheet") + } - createFirstRow(f, sheetName, headers) + records := data.ImpactedTable() + headers := records[0] + createFirstRow(f, sheetName, headers) + if len(data.AprlData) > 0 { + records = records[1:] currentRow := 4 for _, row := range records { currentRow += 1 diff --git a/internal/renderers/excel/recommendations.go b/internal/renderers/excel/recommendations.go index 4bb9933f..7951ca7b 100644 --- a/internal/renderers/excel/recommendations.go +++ b/internal/renderers/excel/recommendations.go @@ -15,18 +15,17 @@ import ( func renderRecommendations(f *excelize.File, data *renderers.ReportData) int { sheetName := "Recommendations" - if len(data.Recomendations) > 0 { - err := f.SetSheetName("Sheet1", sheetName) - if err != nil { - log.Fatal().Err(err).Msgf("Failed to create %s sheet", sheetName) - } + err := f.SetSheetName("Sheet1", sheetName) + if err != nil { + log.Fatal().Err(err).Msgf("Failed to create %s sheet", sheetName) + } + + records := data.RecommendationsTable() + headers := records[0] + createFirstRow(f, sheetName, headers) - records := data.RecommendationsTable() - headers := records[0] + if len(data.Recomendations) > 0 { records = records[1:] - - createFirstRow(f, sheetName, headers) - currentRow := 4 for _, row := range records { currentRow += 1 diff --git a/internal/renderers/excel/resourceTypes.go b/internal/renderers/excel/resourceTypes.go index 26ec1a6c..1b717246 100644 --- a/internal/renderers/excel/resourceTypes.go +++ b/internal/renderers/excel/resourceTypes.go @@ -13,17 +13,17 @@ import ( func renderResourceTypes(f *excelize.File, data *renderers.ReportData) { sheetName := "ResourceTypes" - if len(data.ResourceTypeCount) > 0 { - _, err := f.NewSheet(sheetName) - if err != nil { - log.Fatal().Err(err).Msgf("Failed to create %s sheet", sheetName) - } + _, err := f.NewSheet(sheetName) + if err != nil { + log.Fatal().Err(err).Msgf("Failed to create %s sheet", sheetName) + } - records := data.ResourceTypesTable() - headers := records[0] - records = records[1:] + records := data.ResourceTypesTable() + headers := records[0] + createFirstRow(f, sheetName, headers) - createFirstRow(f, sheetName, headers) + if len(data.ResourceTypeCount) > 0 { + records = records[1:] currentRow := 4 for _, row := range records { diff --git a/internal/renderers/excel/resources.go b/internal/renderers/excel/resources.go index dc7d2fb9..27da7277 100644 --- a/internal/renderers/excel/resources.go +++ b/internal/renderers/excel/resources.go @@ -13,18 +13,17 @@ import ( func renderResources(f *excelize.File, data *renderers.ReportData) { sheetName := "Inventory" - if len(data.Resources) > 0 { - _, err := f.NewSheet(sheetName) - if err != nil { - log.Fatal().Err(err).Msg("Failed to create Inventory sheet") - } - - records := data.ResourcesTable() - headers := records[0] - records = records[1:] + _, err := f.NewSheet(sheetName) + if err != nil { + log.Fatal().Err(err).Msg("Failed to create Inventory sheet") + } - createFirstRow(f, sheetName, headers) + records := data.ResourcesTable() + headers := records[0] + createFirstRow(f, sheetName, headers) + if len(data.Resources) > 0 { + records = records[1:] currentRow := 4 for _, row := range records { currentRow += 1