From 3c763293c081f4119c2122d776440c17675b0661 Mon Sep 17 00:00:00 2001 From: leSamo Date: Tue, 1 Aug 2023 00:50:46 +0200 Subject: [PATCH] Reflect advisory filter and column in CVE report --- locales/en.json | 1 + .../SmartComponents/Reports/Common/firstPagePDF.js | 1 + src/Components/SmartComponents/Reports/Common/tablePage.js | 5 +++++ src/Components/SmartComponents/Reports/DownloadCVEsReport.js | 5 ++++- src/Helpers/ReportsHelper.js | 1 + src/Messages.js | 5 +++++ 6 files changed, 17 insertions(+), 1 deletion(-) diff --git a/locales/en.json b/locales/en.json index f82bbd974..787e6bed0 100644 --- a/locales/en.json +++ b/locales/en.json @@ -1,4 +1,5 @@ { + "CVEsReport.filters.advisoryAvailable": "{prefix} advisory {values}", "CVEsReport.filters.businessRisk": "{prefix} business risk of {values}", "CVEsReport.filters.osVersion": "{prefix} which apply to {values}", "CVEsReport.filters.securityRule": "{prefix} {values}", diff --git a/src/Components/SmartComponents/Reports/Common/firstPagePDF.js b/src/Components/SmartComponents/Reports/Common/firstPagePDF.js index 55039f6c9..5b876d719 100644 --- a/src/Components/SmartComponents/Reports/Common/firstPagePDF.js +++ b/src/Components/SmartComponents/Reports/Common/firstPagePDF.js @@ -37,6 +37,7 @@ const firstPagePDF = ({ data, meta, filters, intl, isReportDynamic, reportData, { name: 'status_id', msg: messages.CVEsPDFreportFiltersStatus, lowercase: true }, { name: 'rule_presence', msg: messages.CVEsPDFreportFiltersDefinedValue, lowercase: true }, { name: 'known_exploit', msg: messages.CVEsPDFreportFiltersDefinedValue, lowercase: true }, + { name: 'advisory_available', msg: messages.CVEsPDFreportFiltersAdvisoryAvailable, lowercase: true }, { name: 'rhel_version', msg: messages.CVEsPDFreportFiltersOsVersion } ]; diff --git a/src/Components/SmartComponents/Reports/Common/tablePage.js b/src/Components/SmartComponents/Reports/Common/tablePage.js index 111b85f31..4e00a0c1f 100644 --- a/src/Components/SmartComponents/Reports/Common/tablePage.js +++ b/src/Components/SmartComponents/Reports/Common/tablePage.js @@ -39,6 +39,11 @@ const tablePage = ({ data, page, intl, header, type, isReportDynamic = false }) name: 'status_id', header: { value: intl.formatMessage(messages.status) }, hit: 'status' + }, + { + name: 'advisory_available', + header: { value: intl.formatMessage(messages.advisory) }, + hit: 'advisory_available' } ]; // eslint-disable-next-line react/prop-types diff --git a/src/Components/SmartComponents/Reports/DownloadCVEsReport.js b/src/Components/SmartComponents/Reports/DownloadCVEsReport.js index 2b92912f1..c31dd2e7a 100644 --- a/src/Components/SmartComponents/Reports/DownloadCVEsReport.js +++ b/src/Components/SmartComponents/Reports/DownloadCVEsReport.js @@ -101,7 +101,10 @@ const DownloadCVEsReport = ({ business_risk: BUSINESS_RISK_OPTIONS.find(item => item.value === cve.attributes.business_risk_id.toString()).label, impact: impactList[cve.attributes.impact]?.title || intl.formatMessage(messages.impactListUnknown), - cvss_score: parseFloat(cve.attributes.cvss3_score || cve.attributes.cvss2_score).toFixed(1) + cvss_score: parseFloat(cve.attributes.cvss3_score || cve.attributes.cvss2_score).toFixed(1), + advisory_available: cve.attributes.advisory_available + ? intl.formatMessage(messages.available) + : intl.formatMessage(messages.notAvailable) } }; }); diff --git a/src/Helpers/ReportsHelper.js b/src/Helpers/ReportsHelper.js index 6275b5ff1..d63d7d323 100644 --- a/src/Helpers/ReportsHelper.js +++ b/src/Helpers/ReportsHelper.js @@ -111,6 +111,7 @@ export function constructFilterParameters(filterParams) { rule_presence: filterParams.rule_presence.toString(), known_exploit: filterParams.known_exploit.toString(), rhel_version: filterParams.rhel_version.toString(), + advisory_available: filterParams.advisory_available.toString(), tags: filterParams.tags?.map(tag => tag.string).join(',') }; diff --git a/src/Messages.js b/src/Messages.js index 1469881b0..b9ce42cb1 100644 --- a/src/Messages.js +++ b/src/Messages.js @@ -491,6 +491,11 @@ export default defineMessages({ description: 'CVEs PDF report filters security', defaultMessage: '{prefix} {values}' }, + CVEsPDFreportFiltersAdvisoryAvailable: { + id: 'CVEsReport.filters.advisoryAvailable', + description: 'CVEs PDF report filters advisory available', + defaultMessage: '{prefix} advisory {values}' + }, CVEsPDFreportFiltersOsVersion: { id: 'CVEsReport.filters.osVersion', description: 'CVEs PDF report filters security',