From 3c3a5973b18409dac7d464e2c2a3263dc8e78b16 Mon Sep 17 00:00:00 2001 From: Maruf Sharifi Date: Tue, 3 Mar 2026 13:09:56 +0430 Subject: [PATCH 1/2] fix(expense): resolve unexpected error after submitter renames approved report --- src/libs/ReportUtils.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libs/ReportUtils.ts b/src/libs/ReportUtils.ts index ed513b787bd01..14616bdef9e8e 100644 --- a/src/libs/ReportUtils.ts +++ b/src/libs/ReportUtils.ts @@ -4446,7 +4446,9 @@ function isReportFieldDisabled(report: OnyxEntry, reportField: OnyxEntry const isTitleField = isReportFieldOfTypeTitle(reportField); const isAdmin = isPolicyAdmin(policy); const isApproved = isReportApproved({report}); - if (!isAdmin && (isReportSettled || isReportClosed || isApproved)) { + const shouldDisableTitleFieldForSubmitterInForwardedApproval = + isTitleField && isExpenseReport(report) && isReportOwner(report) && isProcessingReport(report) && !isAwaitingFirstLevelApproval(report); + if (!isAdmin && (isReportSettled || isReportClosed || isApproved || shouldDisableTitleFieldForSubmitterInForwardedApproval)) { return true; } From 86ed5e69cc67fad40638ed144247f6c3f9909de4 Mon Sep 17 00:00:00 2001 From: marufsharifi Date: Sat, 7 Mar 2026 11:36:51 +0430 Subject: [PATCH 2/2] fix: disable all fields for forwarded submitter in submitted expense reports --- src/libs/ReportUtils.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/libs/ReportUtils.ts b/src/libs/ReportUtils.ts index ba4c4ce2135f8..c71bcf609a282 100644 --- a/src/libs/ReportUtils.ts +++ b/src/libs/ReportUtils.ts @@ -4467,7 +4467,7 @@ function isHoldCreator(transaction: OnyxEntry, reportID: string | u * For title fields, its considered disabled if `deletable` prop is `true` (https://github.com/Expensify/App/issues/35043#issuecomment-1911275433) * For non title fields, its considered disabled if: * 1. The user is not admin of the report - * 2. Report is settled or it is closed + * 2. Report is settled, closed, approved, or submitted and already forwarded for review */ function isReportFieldDisabled(report: OnyxEntry, reportField: OnyxEntry, policy: OnyxEntry): boolean { if (isInvoiceReport(report)) { @@ -4478,9 +4478,8 @@ function isReportFieldDisabled(report: OnyxEntry, reportField: OnyxEntry const isTitleField = isReportFieldOfTypeTitle(reportField); const isAdmin = isPolicyAdmin(policy); const isApproved = isReportApproved({report}); - const shouldDisableTitleFieldForSubmitterInForwardedApproval = - isTitleField && isExpenseReport(report) && isReportOwner(report) && isProcessingReport(report) && !isAwaitingFirstLevelApproval(report); - if (!isAdmin && (isReportSettled || isReportClosed || isApproved || shouldDisableTitleFieldForSubmitterInForwardedApproval)) { + const isForwardedForSubmitter = isReportOwner(report) && isExpenseReport(report) && isProcessingReport(report) && !isAwaitingFirstLevelApproval(report); + if (!isAdmin && (isReportSettled || isReportClosed || isApproved || isForwardedForSubmitter)) { return true; }