diff --git a/src/libs/actions/Policy.ts b/src/libs/actions/Policy.ts index 0c5df5a85d57..e43a93e26f76 100644 --- a/src/libs/actions/Policy.ts +++ b/src/libs/actions/Policy.ts @@ -417,7 +417,7 @@ function buildAnnounceRoomMembersOnyxData(policyID: string, accountIDs: number[] return announceRoomMembers; } -function setWorkspaceAutoReporting(policyID: string, enabled: boolean) { +function setWorkspaceAutoReporting(policyID: string, enabled: boolean, frequency: ValueOf) { const optimisticData: OnyxUpdate[] = [ { onyxMethod: Onyx.METHOD.MERGE, @@ -427,7 +427,7 @@ function setWorkspaceAutoReporting(policyID: string, enabled: boolean) { harvesting: { enabled: true, }, - autoReportingFrequency: CONST.POLICY.AUTO_REPORTING_FREQUENCIES.WEEKLY, + autoReportingFrequency: frequency, pendingFields: {isAutoApprovalEnabled: CONST.RED_BRICK_ROAD_PENDING_ACTION.UPDATE}, }, }, @@ -439,7 +439,6 @@ function setWorkspaceAutoReporting(policyID: string, enabled: boolean) { key: `${ONYXKEYS.COLLECTION.POLICY}${policyID}`, value: { autoReporting: !enabled, - autoReportingFrequency: null, pendingFields: {isAutoApprovalEnabled: null, harvesting: null}, }, }, @@ -456,6 +455,7 @@ function setWorkspaceAutoReporting(policyID: string, enabled: boolean) { ]; const params: SetWorkspaceAutoReportingParams = {policyID, enabled}; + API.write(WRITE_COMMANDS.SET_WORKSPACE_AUTO_REPORTING, params, {optimisticData, failureData, successData}); } diff --git a/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx b/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx index 0d8b1d2aced2..ee3934cacc06 100644 --- a/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx +++ b/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx @@ -60,7 +60,11 @@ function WorkspaceWorkflowsPage({policy, betas, route}: WorkspaceWorkflowsPagePr title: translate('workflowsPage.delaySubmissionTitle'), subtitle: translate('workflowsPage.delaySubmissionDescription'), onToggle: (isEnabled: boolean) => { - Policy.setWorkspaceAutoReporting(route.params.policyID, isEnabled); + const frequency = + policy?.autoReportingFrequency === CONST.POLICY.AUTO_REPORTING_FREQUENCIES.INSTANT || !policy?.autoReportingFrequency + ? CONST.POLICY.AUTO_REPORTING_FREQUENCIES.WEEKLY + : policy.autoReportingFrequency; + Policy.setWorkspaceAutoReporting(route.params.policyID, isEnabled, frequency); }, subMenuItems: ( ), - isActive: policy?.harvesting?.enabled ?? false, + isActive: (policy?.harvesting?.enabled && policy.autoReportingFrequency !== CONST.POLICY.AUTO_REPORTING_FREQUENCIES.INSTANT) ?? false, pendingAction: policy?.pendingFields?.isAutoApprovalEnabled, }, ]