Skip to content

Commit 0cb3695

Browse files
refactor: pass policytags to getLastMessageTextForReport
1 parent 0fdd13f commit 0cb3695

2 files changed

Lines changed: 29 additions & 14 deletions

File tree

src/libs/ModifiedExpenseMessage.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -674,16 +674,16 @@ function getForReportActionTemp({
674674

675675
const hasModifiedTag = isReportActionOriginalMessageAnObject && 'oldTag' in reportActionOriginalMessage && 'tag' in reportActionOriginalMessage;
676676
if (hasModifiedTag) {
677+
const policyTagsToUse = policyTags ?? CONST.POLICY.DEFAULT_TAG_LIST;
677678
const transactionTag = reportActionOriginalMessage?.tag ?? '';
678679
const oldTransactionTag = reportActionOriginalMessage?.oldTag ?? '';
679680
const splittedTag = getTagArrayFromName(transactionTag);
680681
const splittedOldTag = getTagArrayFromName(oldTransactionTag);
681682
const localizedTagListName = translate('common.tag');
682-
const sortedTagKeys = getSortedTagKeys(policyTags);
683+
const sortedTagKeys = getSortedTagKeys(policyTagsToUse);
683684

684685
for (const [index, policyTagKey] of sortedTagKeys.entries()) {
685-
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
686-
const policyTagListName = policyTags?.[policyTagKey]?.name || localizedTagListName;
686+
const policyTagListName = policyTagsToUse[policyTagKey].name || localizedTagListName;
687687

688688
const newTag = splittedTag.at(index) ?? '';
689689
const oldTag = splittedOldTag.at(index) ?? '';
@@ -751,10 +751,11 @@ function getForReportActionTemp({
751751

752752
const hasPolicyRulesModifiedFields = isReportActionOriginalMessageAnObject && 'policyRulesModifiedFields' in reportActionOriginalMessage && 'policyID' in reportActionOriginalMessage;
753753
if (hasPolicyRulesModifiedFields) {
754-
const {policyRulesModifiedFields, policyID} = reportActionOriginalMessage;
754+
const rulePolicyID = reportActionOriginalMessage.policyID;
755+
const policyRulesModifiedFields = reportActionOriginalMessage.policyRulesModifiedFields;
755756

756-
if (policyRulesModifiedFields && policyID) {
757-
return getPolicyRulesModifiedMessage(translate, policyRulesModifiedFields, policyID);
757+
if (policyRulesModifiedFields && rulePolicyID) {
758+
return getPolicyRulesModifiedMessage(translate, policyRulesModifiedFields, rulePolicyID);
758759
}
759760
}
760761

src/libs/OptionsListUtils/index.ts

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import {translateLocal} from '@libs/Localize';
1717
import {appendCountryCode, getPhoneNumberWithoutSpecialChars} from '@libs/LoginUtils';
1818
import {MaxHeap} from '@libs/MaxHeap';
1919
import {MinHeap} from '@libs/MinHeap';
20-
import {getForReportAction} from '@libs/ModifiedExpenseMessage';
20+
import {getForReportAction, getForReportActionTemp} from '@libs/ModifiedExpenseMessage';
2121
import Navigation from '@libs/Navigation/Navigation';
2222
import Parser from '@libs/Parser';
2323
import Performance from '@libs/Performance';
@@ -603,6 +603,8 @@ function getLastMessageTextForReport({
603603
policyForMovingExpensesID,
604604
reportMetadata,
605605
reportAttributesDerived,
606+
policyTags,
607+
currentUserLogin,
606608
}: {
607609
translate: LocalizedTranslate;
608610
report: OnyxEntry<Report>;
@@ -614,6 +616,8 @@ function getLastMessageTextForReport({
614616
policyForMovingExpensesID?: string;
615617
reportMetadata?: OnyxEntry<ReportMetadata>;
616618
reportAttributesDerived?: ReportAttributesDerivedValue['reports'];
619+
policyTags?: OnyxEntry<PolicyTagLists>;
620+
currentUserLogin?: string;
617621
}): string {
618622
const reportID = report?.reportID;
619623
const lastReportAction = reportID ? lastVisibleReportActions[reportID] : undefined;
@@ -687,13 +691,23 @@ function getLastMessageTextForReport({
687691
} else if (isReportMessageAttachment({text: report?.lastMessageText ?? '', html: report?.lastMessageHtml, type: ''})) {
688692
lastMessageTextFromReport = `[${translate('common.attachment')}]`;
689693
} else if (isModifiedExpenseAction(lastReportAction)) {
690-
const properSchemaForModifiedExpenseMessage = getForReportAction({
691-
reportAction: lastReportAction,
692-
policyID: report?.policyID,
693-
movedFromReport,
694-
movedToReport,
695-
policyForMovingExpensesID,
696-
});
694+
const properSchemaForModifiedExpenseMessage = policyTags
695+
? getForReportActionTemp({
696+
translate,
697+
reportAction: lastReportAction,
698+
policy,
699+
movedFromReport,
700+
movedToReport,
701+
policyTags,
702+
currentUserLogin: currentUserLogin ?? '',
703+
})
704+
: getForReportAction({
705+
reportAction: lastReportAction,
706+
policyID: report?.policyID,
707+
movedFromReport,
708+
movedToReport,
709+
policyForMovingExpensesID,
710+
});
697711
lastMessageTextFromReport = formatReportLastMessageText(properSchemaForModifiedExpenseMessage, true);
698712
} else if (isMovedTransactionAction(lastReportAction)) {
699713
lastMessageTextFromReport = Parser.htmlToText(getMovedTransactionMessage(translate, lastReportAction));

0 commit comments

Comments
 (0)