Skip to content

Commit

Permalink
fix(report): fixed missing/cut off descriptions (#4344)
Browse files Browse the repository at this point in the history
Signed-off-by: Felipe Avelar <felipe.avelar@checkmarx.com>
  • Loading branch information
felipe-avelar authored Oct 11, 2021
1 parent 25a7bed commit 9a9bd95
Showing 1 changed file with 27 additions and 19 deletions.
46 changes: 27 additions & 19 deletions pkg/report/pdf.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ const (
colNine = 9
colTen = 10
colFullPage = 12
colRuneSlitter = 38
colRuneSlitter = 20
)

var (
Expand Down Expand Up @@ -73,6 +73,7 @@ func createQueriesTable(m pdf.Maroto, queries []model.VulnerableQuery) error {
severity := string(queries[i].Severity)
platform := queries[i].Platform
category := queries[i].Category
description := queries[i].Description
var err error
m.Row(rowLarge, func() {
m.Col(colOne, func() {
Expand Down Expand Up @@ -121,45 +122,52 @@ func createQueriesTable(m pdf.Maroto, queries []model.VulnerableQuery) error {
})
if queries[i].CISDescriptionID != "" {
createCISRows(m, &queries[i])
} else {
createDescription(m, description)
}
createResultsTable(m, &queries[i])
}
return nil
}

func createCISRows(m pdf.Maroto, query *model.VulnerableQuery) {
cisID := query.CISDescriptionIDFormatted
description := query.CISDescriptionTextFormatted
title := query.CISDescriptionTitle

func createDescription(m pdf.Maroto, description string) {
m.Row(colFive, func() {
m.Col(colTwo, func() {
m.Text("CIS ID", props.Text{
Size: float64(defaultTextSize),
m.Text("Description", props.Text{
Size: float64(textSize),
Align: consts.Left,
Style: consts.Bold,
Extrapolate: false,
})
})
m.Col(colEight, func() {
m.Text(cisID, props.Text{
})
m.Row(getRowLength(description), func() {
m.Col(colFullPage, func() {
m.Text(description, props.Text{
Size: float64(defaultTextSize),
Align: consts.Left,
Extrapolate: false,
})
})
})
}

func createCISRows(m pdf.Maroto, query *model.VulnerableQuery) {
cisID := query.CISDescriptionIDFormatted
description := query.CISDescriptionTextFormatted
title := query.CISDescriptionTitle

m.Row(colFive, func() {
m.Col(colTwo, func() {
m.Text("Title", props.Text{
m.Text("CIS ID", props.Text{
Size: float64(defaultTextSize),
Align: consts.Left,
Style: consts.Bold,
Extrapolate: false,
})
})
m.Col(colEight, func() {
m.Text(title, props.Text{
m.Text(cisID, props.Text{
Size: float64(defaultTextSize),
Align: consts.Left,
Extrapolate: false,
Expand All @@ -168,28 +176,28 @@ func createCISRows(m pdf.Maroto, query *model.VulnerableQuery) {
})
m.Row(colFive, func() {
m.Col(colTwo, func() {
m.Text("Description", props.Text{
Size: float64(textSize),
m.Text("Title", props.Text{
Size: float64(defaultTextSize),
Align: consts.Left,
Style: consts.Bold,
Extrapolate: false,
})
})
})
m.Row(getRowLength(description), func() {
m.Col(colFullPage, func() {
m.Text(description, props.Text{
m.Col(colEight, func() {
m.Text(title, props.Text{
Size: float64(defaultTextSize),
Align: consts.Left,
Extrapolate: false,
})
})
})
createDescription(m, description)
}

func getRowLength(value string) float64 {
length := len(value)
return float64(length / colRuneSlitter)
result := length/colRuneSlitter + 1
return float64(result)
}

func createResultsTable(m pdf.Maroto, query *model.VulnerableQuery) {
Expand Down

0 comments on commit 9a9bd95

Please sign in to comment.