From 73cfd0f038d7fa7dba239bf93e5507d96c4bea9c Mon Sep 17 00:00:00 2001 From: Johannes Helmold Date: Thu, 17 Aug 2023 17:19:15 +0200 Subject: [PATCH] Add: Added an option to ignore the pagination for alert reports. The option Pagination was added to the "Compose Content for Scan Report" dialog for alerts. The default of this option is ignore, so that all results are included in the report regardless of the number of rows specified in the filter selected in the dialog. --- src/gmp/commands/alerts.js | 1 + src/web/pages/alerts/component.js | 20 +++++++++++++++++++ src/web/pages/alerts/contentcomposerdialog.js | 17 ++++++++++++++++ src/web/pages/alerts/dialog.js | 3 +++ 4 files changed, 41 insertions(+) diff --git a/src/gmp/commands/alerts.js b/src/gmp/commands/alerts.js index 0a38e5c6fd..fd2ef9e70a 100644 --- a/src/gmp/commands/alerts.js +++ b/src/gmp/commands/alerts.js @@ -33,6 +33,7 @@ const log = logger.getLogger('gmp.commands.alerts'); const event_data_fields = ['status', 'feed_event', 'secinfo_type']; const method_data_fields = [ + 'composer_ignore_pagination', 'composer_include_notes', 'composer_include_overrides', 'details_url', diff --git a/src/web/pages/alerts/component.js b/src/web/pages/alerts/component.js index 2893d5333b..8716ea507d 100644 --- a/src/web/pages/alerts/component.js +++ b/src/web/pages/alerts/component.js @@ -239,11 +239,13 @@ class AlertComponent extends React.Component { closeContentComposerDialog() { const { + method_data_composer_ignore_pagination, method_data_composer_include_notes, method_data_composer_include_overrides, filter_id, } = this.state; this.setState({ + composerIgnorePagination: method_data_composer_ignore_pagination, composerIncludeNotes: method_data_composer_include_notes, composerIncludeOverrides: method_data_composer_include_overrides, composerFilterId: filter_id, @@ -253,6 +255,7 @@ class AlertComponent extends React.Component { } handleSaveComposerContent({ + ignorePagination, includeNotes, includeOverrides, filterId, @@ -263,6 +266,7 @@ class AlertComponent extends React.Component { const defaults = { ...reportComposerDefaults, reportResultFilterId: filterId === UNSET_VALUE ? undefined : filterId, + ignorePagination, includeNotes, includeOverrides, }; @@ -270,6 +274,7 @@ class AlertComponent extends React.Component { } this.setState({ filter_id: filterId, + method_data_composer_ignore_pagination: ignorePagination, method_data_composer_include_notes: includeNotes, method_data_composer_include_overrides: includeOverrides, composerStoreAsDefault: NO_VALUE, @@ -437,6 +442,9 @@ class AlertComponent extends React.Component { composerFilterId: isDefined(alert.filter) ? alert.filter.id : undefined, + composerIgnorePagination: getValue( + method.data.composer_ignore_pagination, + ), composerIncludeNotes: getValue(method.data.composer_include_notes), composerIncludeOverrides: getValue( method.data.composer_include_overrides, @@ -477,6 +485,9 @@ class AlertComponent extends React.Component { method: alert.method.type, + method_data_composer_ignore_pagination: getValue( + method.data.composer_ignore_pagination, + ), method_data_composer_include_notes: getValue( method.data.composer_include_notes, ), @@ -699,11 +710,13 @@ class AlertComponent extends React.Component { filter_id: filterId, filters, composerFilterId: reportComposerDefaults.reportResultFilterId, + composerIgnorePagination: reportComposerDefaults.ignorePagination, composerIncludeNotes: reportComposerDefaults.includeNotes, composerIncludeOverrides: reportComposerDefaults.includeOverrides, composerStoreAsDefault: NO_VALUE, id: undefined, method: undefined, + method_data_composer_ignore_pagination: undefined, method_data_composer_include_notes: undefined, method_data_composer_include_overrides: undefined, method_data_defense_center_ip: undefined, @@ -780,6 +793,7 @@ class AlertComponent extends React.Component { handleCloseAlertDialog() { this.setState({ + composerIgnorePagination: undefined, composerIncludeNotes: undefined, composerIncludeOverrides: undefined, composerFilterId: undefined, @@ -924,6 +938,7 @@ class AlertComponent extends React.Component { filters, filter_id, composerFilterId, + composerIgnorePagination, composerIncludeNotes, composerIncludeOverrides, credentials, @@ -942,6 +957,7 @@ class AlertComponent extends React.Component { event_data_feed_event, event_data_secinfo_type, method, + method_data_composer_ignore_pagination, method_data_composer_include_notes, method_data_composer_include_overrides, method_data_defense_center_ip, @@ -1051,6 +1067,9 @@ class AlertComponent extends React.Component { event_data_feed_event={event_data_feed_event} event_data_secinfo_type={event_data_secinfo_type} method={method} + method_data_composer_ignore_pagination={ + method_data_composer_ignore_pagination + } method_data_composer_include_notes={ method_data_composer_include_notes } @@ -1184,6 +1203,7 @@ class AlertComponent extends React.Component { )} {contentComposerDialogVisible && ( + + + + +