From 55f005c8e3d1511c03b52c2eef4e0cc2e58da882 Mon Sep 17 00:00:00 2001 From: RachelElysia <71795832+RachelElysia@users.noreply.github.com> Date: Wed, 1 May 2024 09:17:08 -0400 Subject: [PATCH] Fleet UI fix: Input is treated as strings but send number to API (#18652) --- changes/18605-host-expiry-window-setting | 1 + .../OrgSettingsPage/cards/Advanced/Advanced.tsx | 14 ++++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 changes/18605-host-expiry-window-setting diff --git a/changes/18605-host-expiry-window-setting b/changes/18605-host-expiry-window-setting new file mode 100644 index 0000000000..594d274512 --- /dev/null +++ b/changes/18605-host-expiry-window-setting @@ -0,0 +1 @@ +- UI: Fix host expiry window setting to be able to save \ No newline at end of file diff --git a/frontend/pages/admin/OrgSettingsPage/cards/Advanced/Advanced.tsx b/frontend/pages/admin/OrgSettingsPage/cards/Advanced/Advanced.tsx index b01f9c079a..78ebe33d70 100644 --- a/frontend/pages/admin/OrgSettingsPage/cards/Advanced/Advanced.tsx +++ b/frontend/pages/admin/OrgSettingsPage/cards/Advanced/Advanced.tsx @@ -20,7 +20,7 @@ interface IAdvancedConfigFormData { verifySSLCerts: boolean; enableStartTLS?: boolean; enableHostExpiry: boolean; - hostExpiryWindow: number; + hostExpiryWindow: string; deleteActivities: boolean; activityExpiryWindow: number; disableLiveQuery: boolean; @@ -43,7 +43,10 @@ const Advanced = ({ enableStartTLS: appConfig.smtp_settings?.enable_start_tls, enableHostExpiry: appConfig.host_expiry_settings.host_expiry_enabled || false, - hostExpiryWindow: appConfig.host_expiry_settings.host_expiry_window || 0, + hostExpiryWindow: + (appConfig.host_expiry_settings.host_expiry_window && + appConfig.host_expiry_settings.host_expiry_window.toString()) || + "0", deleteActivities: appConfig.activity_expiry_settings?.activity_expiry_enabled || false, activityExpiryWindow: @@ -90,7 +93,10 @@ const Advanced = ({ // validate desired form fields const errors: IAdvancedConfigFormErrors = {}; - if (enableHostExpiry && (!hostExpiryWindow || hostExpiryWindow <= 0)) { + if ( + enableHostExpiry && + (!hostExpiryWindow || parseInt(hostExpiryWindow, 10) <= 0) + ) { errors.host_expiry_window = "Host expiry window must be a positive number"; } @@ -116,7 +122,7 @@ const Advanced = ({ }, host_expiry_settings: { host_expiry_enabled: enableHostExpiry, - host_expiry_window: hostExpiryWindow || undefined, + host_expiry_window: parseInt(hostExpiryWindow, 10) || undefined, }, activity_expiry_settings: { activity_expiry_enabled: deleteActivities,