diff --git a/src/CONST.ts b/src/CONST.ts index 60f668b7f15c..5d248437e6f9 100755 --- a/src/CONST.ts +++ b/src/CONST.ts @@ -945,6 +945,7 @@ const CONST = { ACCOUNT_MERGED: 'accountMerged', REMOVED_FROM_POLICY: 'removedFromPolicy', POLICY_DELETED: 'policyDeleted', + INVOICE_RECEIVER_POLICY_DELETED: 'invoiceReceiverPolicyDeleted', BOOKING_END_DATE_HAS_PASSED: 'bookingEndDateHasPassed', }, MESSAGE: { diff --git a/src/components/ArchivedReportFooter.tsx b/src/components/ArchivedReportFooter.tsx index 859d59278cdd..af77a20b4caa 100644 --- a/src/components/ArchivedReportFooter.tsx +++ b/src/components/ArchivedReportFooter.tsx @@ -47,6 +47,10 @@ function ArchivedReportFooter({report, reportClosedAction, personalDetails = {}} let policyName = ReportUtils.getPolicyName(report); + if (archiveReason === CONST.REPORT.ARCHIVE_REASON.INVOICE_RECEIVER_POLICY_DELETED) { + policyName = originalMessage?.receiverPolicyName ?? ''; + } + if (shouldRenderHTML) { oldDisplayName = lodashEscape(oldDisplayName); displayName = lodashEscape(displayName); diff --git a/src/languages/en.ts b/src/languages/en.ts index 8cfc646877ca..addc36bc84ce 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -68,6 +68,7 @@ import type { RemoveMembersWarningPrompt, RenamedRoomActionParams, ReportArchiveReasonsClosedParams, + ReportArchiveReasonsInvoiceReceiverPolicyDeletedParams, ReportArchiveReasonsMergedParams, ReportArchiveReasonsPolicyDeletedParams, ReportArchiveReasonsRemovedFromPolicyParams, @@ -640,6 +641,8 @@ export default { : `This chat is no longer active because ${displayName} is no longer a member of the ${policyName} workspace.`, [CONST.REPORT.ARCHIVE_REASON.POLICY_DELETED]: ({policyName}: ReportArchiveReasonsPolicyDeletedParams) => `This chat is no longer active because ${policyName} is no longer an active workspace.`, + [CONST.REPORT.ARCHIVE_REASON.INVOICE_RECEIVER_POLICY_DELETED]: ({policyName}: ReportArchiveReasonsInvoiceReceiverPolicyDeletedParams) => + `This chat is no longer active because ${policyName} is no longer an active workspace.`, [CONST.REPORT.ARCHIVE_REASON.BOOKING_END_DATE_HAS_PASSED]: 'This booking is archived.', }, writeCapabilityPage: { diff --git a/src/languages/es.ts b/src/languages/es.ts index a15f61645fbe..bc8eec403cc5 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -67,6 +67,7 @@ import type { RemoveMembersWarningPrompt, RenamedRoomActionParams, ReportArchiveReasonsClosedParams, + ReportArchiveReasonsInvoiceReceiverPolicyDeletedParams, ReportArchiveReasonsMergedParams, ReportArchiveReasonsPolicyDeletedParams, ReportArchiveReasonsRemovedFromPolicyParams, @@ -633,6 +634,8 @@ export default { : `Este chat está desactivado porque ${displayName} ha dejado de ser miembro del espacio de trabajo ${policyName}.`, [CONST.REPORT.ARCHIVE_REASON.POLICY_DELETED]: ({policyName}: ReportArchiveReasonsPolicyDeletedParams) => `Este chat está desactivado porque el espacio de trabajo ${policyName} se ha eliminado.`, + [CONST.REPORT.ARCHIVE_REASON.INVOICE_RECEIVER_POLICY_DELETED]: ({policyName}: ReportArchiveReasonsInvoiceReceiverPolicyDeletedParams) => + `Este chat está desactivado porque el espacio de trabajo ${policyName} se ha eliminado.`, [CONST.REPORT.ARCHIVE_REASON.BOOKING_END_DATE_HAS_PASSED]: 'Esta reserva está archivada.', }, writeCapabilityPage: { diff --git a/src/languages/types.ts b/src/languages/types.ts index c260e866fbd7..ca2b70f6ac61 100644 --- a/src/languages/types.ts +++ b/src/languages/types.ts @@ -95,6 +95,10 @@ type ReportArchiveReasonsPolicyDeletedParams = { policyName: string; }; +type ReportArchiveReasonsInvoiceReceiverPolicyDeletedParams = { + policyName: string; +}; + type RequestCountParams = { count: number; scanningReceipts: number; @@ -425,6 +429,7 @@ export type { ReportArchiveReasonsClosedParams, ReportArchiveReasonsMergedParams, ReportArchiveReasonsPolicyDeletedParams, + ReportArchiveReasonsInvoiceReceiverPolicyDeletedParams, ReportArchiveReasonsRemovedFromPolicyParams, RequestAmountParams, RequestCountParams, diff --git a/src/libs/ReportUtils.ts b/src/libs/ReportUtils.ts index a5519dc9e186..0e7418a306af 100644 --- a/src/libs/ReportUtils.ts +++ b/src/libs/ReportUtils.ts @@ -6135,7 +6135,7 @@ function getChatByParticipants(newParticipantList: number[], reports: OnyxCollec */ function getInvoiceChatByParticipants(policyID: string, receiverID: string | number, reports: OnyxCollection = ReportConnection.getAllReports()): OnyxEntry { return Object.values(reports ?? {}).find((report) => { - if (!report || !isInvoiceRoom(report)) { + if (!report || !isInvoiceRoom(report) || isArchivedRoom(report)) { return false; } diff --git a/src/types/onyx/OriginalMessage.ts b/src/types/onyx/OriginalMessage.ts index 1e2328688e90..500ac73fd9a4 100644 --- a/src/types/onyx/OriginalMessage.ts +++ b/src/types/onyx/OriginalMessage.ts @@ -175,6 +175,9 @@ type OriginalMessageClosed = { /** If the report was closed because accounts got merged, then this is the old account ID */ oldAccountID?: number; + + /** Name of the invoice receiver's policy */ + receiverPolicyName?: string; }; /** Model of `renamed` report action, created when chat rooms get renamed */