Skip to content

Commit df13bd4

Browse files
authored
Merge pull request Expensify#66275 from daledah/fix/64743-enabled
Fix eReceipts toggle is not auto enabled
2 parents f4b1cd7 + a95bf18 commit df13bd4

1 file changed

Lines changed: 14 additions & 4 deletions

File tree

src/libs/actions/Policy/Policy.ts

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ import * as NumberUtils from '@libs/NumberUtils';
7474
import * as PersonalDetailsUtils from '@libs/PersonalDetailsUtils';
7575
import * as PhoneNumber from '@libs/PhoneNumber';
7676
import * as PolicyUtils from '@libs/PolicyUtils';
77-
import {goBackWhenEnableFeature, navigateToExpensifyCardPage} from '@libs/PolicyUtils';
77+
import {goBackWhenEnableFeature, isControlPolicy, navigateToExpensifyCardPage} from '@libs/PolicyUtils';
7878
import * as ReportUtils from '@libs/ReportUtils';
7979
import type {PolicySelector} from '@pages/home/sidebar/FloatingActionButtonAndPopover';
8080
import * as PaymentMethods from '@userActions/PaymentMethods';
@@ -3575,6 +3575,13 @@ function enablePolicyRules(policyID: string, enabled: boolean, shouldGoBack = tr
35753575
],
35763576
};
35773577

3578+
if (enabled && isControlPolicy(policy) && policy?.outputCurrency === CONST.CURRENCY.USD) {
3579+
const eReceiptsOnyxData = getWorkspaceEReceiptsEnabledOnyxData(policyID, enabled);
3580+
onyxData.optimisticData?.push(...(eReceiptsOnyxData.optimisticData ?? []));
3581+
onyxData.successData?.push(...(eReceiptsOnyxData.successData ?? []));
3582+
onyxData.failureData?.push(...(eReceiptsOnyxData.failureData ?? []));
3583+
}
3584+
35783585
const parameters: SetPolicyRulesEnabledParams = {policyID, enabled};
35793586
API.writeWithNoDuplicatesEnableFeatureConflicts(WRITE_COMMANDS.SET_POLICY_RULES_ENABLED, parameters, onyxData);
35803587

@@ -4456,14 +4463,13 @@ function disableWorkspaceBillableExpenses(policyID: string) {
44564463
API.write(WRITE_COMMANDS.DISABLE_POLICY_BILLABLE_MODE, parameters, onyxData);
44574464
}
44584465

4459-
function setWorkspaceEReceiptsEnabled(policyID: string, enabled: boolean) {
4466+
function getWorkspaceEReceiptsEnabledOnyxData(policyID: string, enabled: boolean): OnyxData {
44604467
// This will be fixed as part of https://github.com/Expensify/Expensify/issues/507850
44614468
// eslint-disable-next-line deprecation/deprecation
44624469
const policy = getPolicy(policyID);
44634470

44644471
const originalEReceipts = policy?.eReceipts;
4465-
4466-
const onyxData: OnyxData = {
4472+
return {
44674473
optimisticData: [
44684474
{
44694475
onyxMethod: Onyx.METHOD.MERGE,
@@ -4500,6 +4506,10 @@ function setWorkspaceEReceiptsEnabled(policyID: string, enabled: boolean) {
45004506
},
45014507
],
45024508
};
4509+
}
4510+
4511+
function setWorkspaceEReceiptsEnabled(policyID: string, enabled: boolean) {
4512+
const onyxData: OnyxData = getWorkspaceEReceiptsEnabledOnyxData(policyID, enabled);
45034513

45044514
const parameters = {
45054515
policyID,

0 commit comments

Comments
 (0)