From 4e7b8dc1722c2656f3afeaa30d6f3b197a988e13 Mon Sep 17 00:00:00 2001 From: Adam Setch Date: Sat, 13 Apr 2024 05:45:16 -0400 Subject: [PATCH] feat: dynamic policy violation badges based on show suppressed flag Signed-off-by: Adam Setch --- src/views/portfolio/projects/Project.vue | 71 +++++++++++++++---- .../projects/ProjectPolicyViolations.vue | 1 + 2 files changed, 57 insertions(+), 15 deletions(-) diff --git a/src/views/portfolio/projects/Project.vue b/src/views/portfolio/projects/Project.vue index 7bceb52d5..6ffab15c9 100644 --- a/src/views/portfolio/projects/Project.vue +++ b/src/views/portfolio/projects/Project.vue @@ -287,31 +287,47 @@ variant="tab-total" v-b-tooltip.hover :title="$t('policy_violation.total')" - >{{ totalViolations }}{{ + showSuppressedViolations + ? policyViolationsTotal + : policyViolationsUnaudited + }} {{ infoViolations }}{{ + showSuppressedViolations + ? policyViolationsInfoTotal + : policyViolationsInfoUnaudited + }} {{ warnViolations }}{{ + showSuppressedViolations + ? policyViolationsWarnTotal + : policyViolationsWarnUnaudited + }} {{ failViolations }}{{ + showSuppressedViolations + ? policyViolationsFailTotal + : policyViolationsFailUnaudited + }} @@ -400,10 +416,15 @@ export default { totalFindings: 0, totalFindingsIncludingAliases: 0, totalEpss: 0, - totalViolations: 0, - infoViolations: 0, - warnViolations: 0, - failViolations: 0, + showSuppressedViolations: false, + policyViolationsTotal: 0, + policyViolationsUnaudited: 0, + policyViolationsFailTotal: 0, + policyViolationsFailUnaudited: 0, + policyViolationsWarnTotal: 0, + policyViolationsWarnUnaudited: 0, + policyViolationsInfoTotal: 0, + policyViolationsInfoUnaudited: 0, tabIndex: 0, }; }, @@ -458,16 +479,36 @@ export default { this.project.metrics.findingsTotal, 0, ); - this.infoViolations = common.valueWithDefault( - this.project.metrics.policyViolationsInfo, + this.policyViolationsTotal = common.valueWithDefault( + this.project.metrics.policyViolationsTotal, 0, ); - this.warnViolations = common.valueWithDefault( - this.project.metrics.policyViolationsWarn, + this.policyViolationsUnaudited = common.valueWithDefault( + this.project.metrics.policyViolationsUnaudited, 0, ); - this.failViolations = common.valueWithDefault( - this.project.metrics.policyViolationsFail, + this.policyViolationsFailTotal = common.valueWithDefault( + this.project.metrics.policyViolationsFailTotal, + 0, + ); + this.policyViolationsFailUnaudited = common.valueWithDefault( + this.project.metrics.policyViolationsFailUnaudited, + 0, + ); + this.policyViolationsWarnTotal = common.valueWithDefault( + this.project.metrics.policyViolationsWarnTotal, + 0, + ); + this.policyViolationsWarnUnaudited = common.valueWithDefault( + this.project.metrics.policyViolationsWarnUnaudited, + 0, + ); + this.policyViolationsInfoTotal = common.valueWithDefault( + this.project.metrics.policyViolationsInfoTotal, + 0, + ); + this.policyViolationsInfoUnaudited = common.valueWithDefault( + this.project.metrics.policyViolationsInfoUnaudited, 0, ); EventBus.$emit('addCrumb', this.projectLabel); diff --git a/src/views/portfolio/projects/ProjectPolicyViolations.vue b/src/views/portfolio/projects/ProjectPolicyViolations.vue index 75295f363..b1d28b351 100644 --- a/src/views/portfolio/projects/ProjectPolicyViolations.vue +++ b/src/views/portfolio/projects/ProjectPolicyViolations.vue @@ -438,6 +438,7 @@ export default { this.$refs.table.columns, ); this.$emit('total', data.total); + this.$emit('showSuppressedViolations', this.showSuppressedViolations); }, initializeTooltips: function () { $('[data-toggle="tooltip"]').tooltip({