@@ -23,7 +23,6 @@ import type {OnyxCollection, OnyxEntry} from 'react-native-onyx';
2323 * This file contains utility functions for managing and computing report names
2424 */
2525import { Str } from 'expensify-common' ;
26- import Onyx from 'react-native-onyx' ;
2726
2827import { getAddAgentRuleMessage , getDeleteAgentRuleMessage , getUpdateAgentRuleMessage } from './AgentRuleChangeLogUtils' ;
2928import { convertToDisplayString } from './CurrencyUtils' ;
@@ -133,6 +132,7 @@ import {
133132import {
134133 formatReportLastMessageText ,
135134 getDisplayNameForParticipant ,
135+ getInvoiceReceiverPersonalDetail ,
136136 getMoneyRequestSpendBreakdown ,
137137 getMovedActionMessage ,
138138 getMovedTransactionMessage ,
@@ -195,16 +195,6 @@ type ComputeReportName = {
195195 pendingDeleteMemberAccountIDs ?: string [ ] ;
196196} ;
197197
198- let allPersonalDetails : OnyxEntry < PersonalDetailsList > ;
199-
200- // eslint-disable-next-line rulesdir/no-onyx-connect -- allPersonalDetails is used by the deprecated getReportName function; will be removed as part of the Onyx.connect migration
201- Onyx . connect ( {
202- key : ONYXKEYS . PERSONAL_DETAILS_LIST ,
203- callback : ( value ) => {
204- allPersonalDetails = value ;
205- } ,
206- } ) ;
207-
208198function generateArchivedReportName ( reportName : string ) : string {
209199 return `${ reportName } (${ translateLocal ( 'common.archived' ) } ) ` ;
210200}
@@ -346,7 +336,7 @@ function getInvoicesChatName({
346336} : {
347337 report : OnyxEntry < Report > ;
348338 receiverPolicy : OnyxEntry < Policy > ;
349- personalDetails ? : Partial < PersonalDetailsList > ;
339+ personalDetails : Partial < PersonalDetailsList > | undefined ;
350340 policy : OnyxEntry < Policy > ;
351341 currentUserAccountID ?: number ;
352342 translate : LocalizedTranslate ;
@@ -361,14 +351,20 @@ function getInvoicesChatName({
361351 }
362352
363353 if ( isIndividual ) {
364- return formatPhoneNumberPhoneUtils ( temporaryGetDisplayNameOrDefault ( { passedPersonalDetails : ( personalDetails ?? allPersonalDetails ) ?. [ invoiceReceiverAccountID ] , translate} ) ) ;
354+ return formatPhoneNumberPhoneUtils ( temporaryGetDisplayNameOrDefault ( { passedPersonalDetails : personalDetails ?. [ invoiceReceiverAccountID ] , translate} ) ) ;
365355 }
366356
367357 return getPolicyName ( { report, policy : receiverPolicy , unavailableTranslation : translate ( 'workspace.common.unavailable' ) } ) ;
368358}
369359
370- function getInvoiceReportName ( report : OnyxEntry < Report > , translate : LocalizedTranslate , policy ?: OnyxEntry < Policy > , invoiceReceiverPolicy ?: OnyxEntry < Policy > ) : string {
371- const moneyRequestReportName = getMoneyRequestReportName ( { report, policy, invoiceReceiverPolicy, translate} ) ;
360+ function getInvoiceReportName (
361+ report : OnyxEntry < Report > ,
362+ translate : LocalizedTranslate ,
363+ personalDetailsList : OnyxEntry < PersonalDetailsList > ,
364+ policy ?: OnyxEntry < Policy > ,
365+ invoiceReceiverPolicy ?: OnyxEntry < Policy > ,
366+ ) : string {
367+ const moneyRequestReportName = getMoneyRequestReportName ( { report, policy, invoiceReceiverPolicy, personalDetailsList, translate} ) ;
372368 const oldDotInvoiceName = report ?. reportName ?? moneyRequestReportName ;
373369 return isNewDotInvoice ( report ?. chatReportID ) ? moneyRequestReportName : oldDotInvoiceName ;
374370}
@@ -381,15 +377,14 @@ function getInvoiceReportName(report: OnyxEntry<Report>, translate: LocalizedTra
381377function getInvoicePayerName (
382378 report : OnyxEntry < Report > ,
383379 translate : LocalizedTranslate ,
380+ invoiceReceiverPersonalDetail : OnyxEntry < PersonalDetails > | null ,
384381 invoiceReceiverPolicy ?: OnyxEntry < Policy > ,
385- invoiceReceiverPersonalDetail ?: PersonalDetails | null ,
386382) : string {
387383 const invoiceReceiver = report ?. invoiceReceiver ;
388384 const isIndividual = invoiceReceiver ?. type === CONST . REPORT . INVOICE_RECEIVER_TYPE . INDIVIDUAL ;
389385
390386 if ( isIndividual ) {
391- const personalDetail = invoiceReceiverPersonalDetail ?? allPersonalDetails ?. [ invoiceReceiver . accountID ] ;
392- return formatPhoneNumberPhoneUtils ( temporaryGetDisplayNameOrDefault ( { passedPersonalDetails : personalDetail ?? undefined , translate} ) ) ;
387+ return formatPhoneNumberPhoneUtils ( temporaryGetDisplayNameOrDefault ( { passedPersonalDetails : invoiceReceiverPersonalDetail ?? undefined , translate} ) ) ;
393388 }
394389
395390 return getPolicyName ( { report, policy : invoiceReceiverPolicy , unavailableTranslation : translate ( 'workspace.common.unavailable' ) } ) ;
@@ -402,11 +397,13 @@ function getMoneyRequestReportName({
402397 report,
403398 policy,
404399 invoiceReceiverPolicy,
400+ personalDetailsList,
405401 translate,
406402} : {
407403 report : OnyxEntry < Report > ;
408404 policy ?: OnyxEntry < Policy > ;
409405 invoiceReceiverPolicy ?: OnyxEntry < Policy > ;
406+ personalDetailsList : OnyxEntry < PersonalDetailsList > ;
410407 translate : LocalizedTranslate ;
411408} ) : string {
412409 // For expense reports with empty fieldList and empty reportName, return "New Report" (matches OldDot behavior)
@@ -429,7 +426,8 @@ function getMoneyRequestReportName({
429426 payerOrApproverName = getPolicyName ( { report : parentReport ?? report , policy, unavailableTranslation : translate ( 'workspace.common.unavailable' ) } ) ;
430427 } else if ( isInvoiceReport ( report ) ) {
431428 const chatReport = getReportOrDraftReport ( report ?. chatReportID ) ;
432- payerOrApproverName = getInvoicePayerName ( chatReport , translate , invoiceReceiverPolicy ) ;
429+ const invoiceReceiverPersonalDetail = getInvoiceReceiverPersonalDetail ( chatReport , personalDetailsList ) ;
430+ payerOrApproverName = getInvoicePayerName ( chatReport , translate , invoiceReceiverPersonalDetail , invoiceReceiverPolicy ) ;
433431 } else {
434432 payerOrApproverName = getDisplayNameForParticipant ( { accountID : report ?. managerID , formatPhoneNumber : formatPhoneNumberPhoneUtils , translate} ) ?? '' ;
435433 }
@@ -1087,7 +1085,7 @@ function computeReportName({
10871085
10881086 const policy = policies ?. [ `${ ONYXKEYS . COLLECTION . POLICY } ${ report . policyID } ` ] ;
10891087 if ( isMoneyRequestReport ( report ) ) {
1090- formattedName = getMoneyRequestReportName ( { report, policy, translate} ) ;
1088+ formattedName = getMoneyRequestReportName ( { report, policy, personalDetailsList , translate} ) ;
10911089 }
10921090
10931091 if ( isInvoiceReport ( report ) ) {
@@ -1098,7 +1096,7 @@ function computeReportName({
10981096 chatReceiverPolicyID = ( chatReceiver as { policyID : string } ) . policyID ;
10991097 }
11001098 const invoiceReceiverPolicy = chatReceiverPolicyID ? policies ?. [ `${ ONYXKEYS . COLLECTION . POLICY } ${ chatReceiverPolicyID } ` ] : undefined ;
1101- formattedName = getInvoiceReportName ( report , translate , policy , invoiceReceiverPolicy ) ;
1099+ formattedName = getInvoiceReportName ( report , translate , personalDetailsList , policy , invoiceReceiverPolicy ) ;
11021100 }
11031101
11041102 if ( isInvoiceRoom ( report ) ) {
0 commit comments