From c3172c0616b3277c290e7331fc4847e7475b74bf Mon Sep 17 00:00:00 2001 From: truph01 Date: Wed, 24 Dec 2025 16:24:13 +0700 Subject: [PATCH 1/3] fix: Error on Workspace Switch when the report is done --- src/libs/ReportSecondaryActionUtils.ts | 2 +- src/libs/ReportUtils.ts | 6 ++++-- src/pages/ReportChangeWorkspacePage.tsx | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/libs/ReportSecondaryActionUtils.ts b/src/libs/ReportSecondaryActionUtils.ts index 09aab102c716..95a10df7979a 100644 --- a/src/libs/ReportSecondaryActionUtils.ts +++ b/src/libs/ReportSecondaryActionUtils.ts @@ -506,7 +506,7 @@ function isChangeWorkspaceAction(report: Report, policies: OnyxCollection isWorkspaceEligibleForReportChange(submitterEmail, newPolicy)); + const availablePolicies = Object.values(policies ?? {}).filter((newPolicy) => isWorkspaceEligibleForReportChange(submitterEmail, newPolicy, report)); let hasAvailablePolicies = availablePolicies.length > 1; if (!hasAvailablePolicies && availablePolicies.length === 1) { hasAvailablePolicies = !report.policyID || report.policyID !== availablePolicies?.at(0)?.id; diff --git a/src/libs/ReportUtils.ts b/src/libs/ReportUtils.ts index 6af55b5b1fb0..327aac58c884 100644 --- a/src/libs/ReportUtils.ts +++ b/src/libs/ReportUtils.ts @@ -12477,11 +12477,13 @@ function doesReportContainRequestsFromMultipleUsers(iouReport: OnyxEntry /** * Determines whether the report can be moved to the workspace. */ -function isWorkspaceEligibleForReportChange(submitterEmail: string | undefined, newPolicy: OnyxEntry): boolean { +function isWorkspaceEligibleForReportChange(submitterEmail: string | undefined, newPolicy: OnyxEntry, report?: Report): boolean { if (!submitterEmail || !newPolicy?.isPolicyExpenseChatEnabled) { return false; } - + if (report && !isPolicyAdminPolicyUtils(newPolicy) && report.stateNum === CONST.REPORT.STATE_NUM.APPROVED && report.statusNum === CONST.REPORT.STATUS_NUM.CLOSED) { + return false; + } return isPaidGroupPolicyPolicyUtils(newPolicy) && !!newPolicy.role; } diff --git a/src/pages/ReportChangeWorkspacePage.tsx b/src/pages/ReportChangeWorkspacePage.tsx index 2626f6ab67ff..7a9613d44d69 100644 --- a/src/pages/ReportChangeWorkspacePage.tsx +++ b/src/pages/ReportChangeWorkspacePage.tsx @@ -132,7 +132,7 @@ function ReportChangeWorkspacePage({report, route}: ReportChangeWorkspacePagePro selectedPolicyIDs: report.policyID ? [report.policyID] : undefined, searchTerm: debouncedSearchTerm, localeCompare, - additionalFilter: (newPolicy) => isWorkspaceEligibleForReportChange(submitterEmail, newPolicy), + additionalFilter: (newPolicy) => isWorkspaceEligibleForReportChange(submitterEmail, newPolicy, report), }); const textInputOptions = useMemo( From 1b2e401e9447e95c5f338a11cd232e75fb907631 Mon Sep 17 00:00:00 2001 From: truph01 Date: Mon, 5 Jan 2026 11:55:34 +0700 Subject: [PATCH 2/3] fix: reorder --- src/libs/ReportUtils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/ReportUtils.ts b/src/libs/ReportUtils.ts index 01dbea65e998..3b8ee32db249 100644 --- a/src/libs/ReportUtils.ts +++ b/src/libs/ReportUtils.ts @@ -12191,7 +12191,7 @@ function isWorkspaceEligibleForReportChange(submitterEmail: string | undefined, if (!submitterEmail || !newPolicy?.isPolicyExpenseChatEnabled) { return false; } - if (report && !isPolicyAdminPolicyUtils(newPolicy) && report.stateNum === CONST.REPORT.STATE_NUM.APPROVED && report.statusNum === CONST.REPORT.STATUS_NUM.CLOSED) { + if (report && report.stateNum === CONST.REPORT.STATE_NUM.APPROVED && report.statusNum === CONST.REPORT.STATUS_NUM.CLOSED && !isPolicyAdminPolicyUtils(newPolicy)) { return false; } return isPaidGroupPolicyPolicyUtils(newPolicy) && !!newPolicy.role; From 9d5d3c2474594ab623c6aa8ebf3d103e8d5828a0 Mon Sep 17 00:00:00 2001 From: truph01 Date: Wed, 7 Jan 2026 15:57:51 +0700 Subject: [PATCH 3/3] fix: remove redundant change --- Mobile-Expensify | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Mobile-Expensify b/Mobile-Expensify index 8680b6b67c5a..eaa9d8401166 160000 --- a/Mobile-Expensify +++ b/Mobile-Expensify @@ -1 +1 @@ -Subproject commit 8680b6b67c5a8ec7ffe46c2578ce9f49e8743265 +Subproject commit eaa9d84011667009c7581a44cd25519ecc7e795e