From 97ac084d6f3ad7ef56b90e80139d3294395236c4 Mon Sep 17 00:00:00 2001 From: FitseTLT Date: Fri, 16 May 2025 00:41:22 +0300 Subject: [PATCH 1/3] implemented movedFrom report action display --- src/languages/en.ts | 2 ++ src/languages/es.ts | 2 ++ src/languages/params.ts | 6 ++++++ src/libs/ModifiedExpenseMessage.ts | 8 +++++++- src/types/onyx/OriginalMessage.ts | 3 +++ 5 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/languages/en.ts b/src/languages/en.ts index f2e72633f079..55c52b33a97a 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -112,6 +112,7 @@ import type { MarkReimbursedFromIntegrationParams, MissingPropertyParams, MovedFromPersonalSpaceParams, + MovedFromReportParams, MovedTransactionParams, NeedCategoryForExportToIntegrationParams, NewWorkspaceNameParams, @@ -952,6 +953,7 @@ const translations = { deleteReceipt: 'Delete receipt', deletedTransaction: ({amount, merchant}: DeleteTransactionParams) => `deleted an expense on this report, ${merchant} - ${amount}`, movedTransaction: ({reportUrl, reportName}: MovedTransactionParams) => `moved this expense to ${reportName}`, + movedFromReport: ({reportName, reportID}: MovedFromReportParams) => `moved an expense from ${reportName || `Report ID ${reportID}`}`, unreportedTransaction: ({reportUrl, reportName}: UnreportedTransactionParams) => `removed this expense from ${reportName}`, pendingMatchWithCreditCard: 'Receipt pending match with card transaction', pendingMatch: 'Pending match', diff --git a/src/languages/es.ts b/src/languages/es.ts index 004e0228a9cc..d23cd1a37f99 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -111,6 +111,7 @@ import type { MarkReimbursedFromIntegrationParams, MissingPropertyParams, MovedFromPersonalSpaceParams, + MovedFromReportParams, MovedTransactionParams, NeedCategoryForExportToIntegrationParams, NewWorkspaceNameParams, @@ -952,6 +953,7 @@ const translations = { routePending: 'Ruta pendiente...', deletedTransaction: ({amount, merchant}: DeleteTransactionParams) => `eliminó un gasto de este informe, ${merchant} - ${amount}`, movedTransaction: ({reportUrl, reportName}: MovedTransactionParams) => `movió este gasto a ${reportName}`, + movedFromReport: ({reportName, reportID}: MovedFromReportParams) => `movió un gasto desde ${reportName || `ID de informe ${reportID}`}`, unreportedTransaction: ({reportUrl, reportName}: UnreportedTransactionParams) => `eliminó este gasto de ${reportName}`, receiptIssuesFound: () => ({ one: 'Problema encontrado', diff --git a/src/languages/params.ts b/src/languages/params.ts index 8349a2d136ca..1ae64ad01bcf 100644 --- a/src/languages/params.ts +++ b/src/languages/params.ts @@ -129,6 +129,11 @@ type MovedTransactionParams = { reportName?: string; }; +type MovedFromReportParams = { + reportName: string; + reportID: string; +}; + type UnreportedTransactionParams = { reportUrl: string; reportName?: string; @@ -817,6 +822,7 @@ export type { PayerPaidParams, PayerSettledParams, RemovedTheRequestParams, + MovedFromReportParams, RenamedRoomActionParams, ReportArchiveReasonsClosedParams, ReportArchiveReasonsMergedParams, diff --git a/src/libs/ModifiedExpenseMessage.ts b/src/libs/ModifiedExpenseMessage.ts index c4a9028118dc..b6a683910154 100644 --- a/src/libs/ModifiedExpenseMessage.ts +++ b/src/libs/ModifiedExpenseMessage.ts @@ -13,7 +13,7 @@ import Parser from './Parser'; import {getCleanedTagName, getSortedTagKeys} from './PolicyUtils'; import {getOriginalMessage, isModifiedExpenseAction} from './ReportActionsUtils'; // eslint-disable-next-line import/no-cycle -import {buildReportNameFromParticipantNames, getPolicyExpenseChatName, getPolicyName, getRootParentReport, isPolicyExpenseChat, isSelfDM} from './ReportUtils'; +import {buildReportNameFromParticipantNames, getPolicyExpenseChatName, getPolicyName, getReportName, getRootParentReport, isPolicyExpenseChat, isSelfDM} from './ReportUtils'; import {getFormattedAttendees, getTagArrayFromName} from './TransactionUtils'; let allPolicyTags: OnyxCollection = {}; @@ -189,6 +189,12 @@ function getForReportAction({ return getForExpenseMovedFromSelfDM(reportActionOriginalMessage.movedToReportID); } + if (reportActionOriginalMessage?.movedFromReport) { + const reportID = reportActionOriginalMessage?.movedFromReport; + const reportName = getReportName(allReports?.[`${ONYXKEYS.COLLECTION.REPORT}${reportID}`]); + return translateLocal('iou.movedFromReport', {reportName: reportName ?? '', reportID}); + } + const removalFragments: string[] = []; const setFragments: string[] = []; const changeFragments: string[] = []; diff --git a/src/types/onyx/OriginalMessage.ts b/src/types/onyx/OriginalMessage.ts index 223a5ef47453..8c20f875f4db 100644 --- a/src/types/onyx/OriginalMessage.ts +++ b/src/types/onyx/OriginalMessage.ts @@ -490,6 +490,9 @@ type OriginalMessageModifiedExpense = { /** The ID of moved report */ movedToReportID?: string; + /** The ID of the report the expense moved from */ + movedFromReport?: string; + /** The old list of attendees */ oldAttendees?: Attendee[]; From 46583835cc27030ec85fbbbfe3c70a77997df184 Mon Sep 17 00:00:00 2001 From: FitseTLT Date: Wed, 28 May 2025 16:49:48 +0300 Subject: [PATCH 2/3] update copy --- src/languages/es.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/languages/es.ts b/src/languages/es.ts index 0803ce9c896c..b42cb30fbe82 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -953,7 +953,7 @@ const translations = { routePending: 'Ruta pendiente...', deletedTransaction: ({amount, merchant}: DeleteTransactionParams) => `eliminó un gasto de este informe, ${merchant} - ${amount}`, movedTransaction: ({reportUrl, reportName}: MovedTransactionParams) => `movió este gasto a ${reportName}`, - movedFromReport: ({reportName, reportID}: MovedFromReportParams) => `movió un gasto desde ${reportName || `ID de informe ${reportID}`}`, + movedFromReport: ({reportName, reportID}: MovedFromReportParams) => `movió un gasto desde ${reportName || `el informe con ID ${reportID}`}`, unreportedTransaction: 'movió este gasto a tu espacio personal', receiptIssuesFound: () => ({ one: 'Problema encontrado', From 4d5a40d9cc23113234a625081d6f1cc8933b66fb Mon Sep 17 00:00:00 2001 From: FitseTLT Date: Thu, 29 May 2025 18:48:58 +0300 Subject: [PATCH 3/3] update copy --- src/languages/en.ts | 2 +- src/languages/es.ts | 2 +- src/languages/params.ts | 1 - src/libs/ModifiedExpenseMessage.ts | 5 ++--- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/languages/en.ts b/src/languages/en.ts index 534e093c74d5..8a4c0f62e779 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -951,7 +951,7 @@ const translations = { posted: 'Posted', deleteReceipt: 'Delete receipt', deletedTransaction: ({amount, merchant}: DeleteTransactionParams) => `deleted an expense on this report, ${merchant} - ${amount}`, - movedFromReport: ({reportName, reportID}: MovedFromReportParams) => `moved an expense from ${reportName || `Report ID ${reportID}`}`, + movedFromReport: ({reportName}: MovedFromReportParams) => `moved an expense from ${reportName || '[deleted]'}`, movedTransaction: ({reportUrl, reportName}: MovedTransactionParams) => `moved this expense to ${reportName ? `${reportName}` : '[deleted]'}`, unreportedTransaction: 'moved this expense to your personal space', pendingMatchWithCreditCard: 'Receipt pending match with card transaction', diff --git a/src/languages/es.ts b/src/languages/es.ts index 92da5227e9f5..0f2b1252c45c 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -951,7 +951,7 @@ const translations = { markAsCash: 'Marcar como efectivo', routePending: 'Ruta pendiente...', deletedTransaction: ({amount, merchant}: DeleteTransactionParams) => `eliminó un gasto de este informe, ${merchant} - ${amount}`, - movedFromReport: ({reportName, reportID}: MovedFromReportParams) => `movió un gasto desde ${reportName || `el informe con ID ${reportID}`}`, + movedFromReport: ({reportName}: MovedFromReportParams) => `movió un gasto desde ${reportName || '[eliminado]'}`, movedTransaction: ({reportUrl, reportName}: MovedTransactionParams) => `movió este gasto a ${reportName ? `${reportName}` : '[eliminado]'}`, unreportedTransaction: 'movió este gasto a tu espacio personal', receiptIssuesFound: () => ({ diff --git a/src/languages/params.ts b/src/languages/params.ts index e5e677d9975d..bad1b85c5c0c 100644 --- a/src/languages/params.ts +++ b/src/languages/params.ts @@ -131,7 +131,6 @@ type MovedTransactionParams = { type MovedFromReportParams = { reportName: string; - reportID: string; }; type SettleExpensifyCardParams = { diff --git a/src/libs/ModifiedExpenseMessage.ts b/src/libs/ModifiedExpenseMessage.ts index b6a683910154..a793474e815b 100644 --- a/src/libs/ModifiedExpenseMessage.ts +++ b/src/libs/ModifiedExpenseMessage.ts @@ -190,9 +190,8 @@ function getForReportAction({ } if (reportActionOriginalMessage?.movedFromReport) { - const reportID = reportActionOriginalMessage?.movedFromReport; - const reportName = getReportName(allReports?.[`${ONYXKEYS.COLLECTION.REPORT}${reportID}`]); - return translateLocal('iou.movedFromReport', {reportName: reportName ?? '', reportID}); + const reportName = getReportName(allReports?.[`${ONYXKEYS.COLLECTION.REPORT}${reportActionOriginalMessage?.movedFromReport}`]); + return translateLocal('iou.movedFromReport', {reportName: reportName ?? ''}); } const removalFragments: string[] = [];