Skip to content

Commit af76cd6

Browse files
committed
Extract isSplitChildTransaction helper to eliminate duplicated split-child detection
1 parent f0d8a85 commit af76cd6

2 files changed

Lines changed: 8 additions & 3 deletions

File tree

src/libs/TransactionUtils/index.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2661,8 +2661,12 @@ function isExpenseSplit(transaction: OnyxEntry<Transaction>, originalTransaction
26612661
return !originalTransaction?.comment?.splits;
26622662
}
26632663

2664+
function isSplitChildTransaction(transaction: OnyxEntry<Transaction> | Transaction): boolean {
2665+
return transaction?.comment?.source === CONST.IOU.TYPE.SPLIT;
2666+
}
2667+
26642668
function hasSplitExpenseInSelection(transactions: Transaction[]): boolean {
2665-
return transactions.some((transaction) => transaction.comment?.source === CONST.IOU.TYPE.SPLIT);
2669+
return transactions.some(isSplitChildTransaction);
26662670
}
26672671

26682672
const getOriginalTransactionWithSplitInfo = (transaction: OnyxEntry<Transaction>, originalTransaction: OnyxEntry<Transaction>) => {
@@ -2948,6 +2952,7 @@ export {
29482952
hasTransactionBeenRejected,
29492953
isExpenseSplit,
29502954
hasSplitExpenseInSelection,
2955+
isSplitChildTransaction,
29512956
getAttendeesListDisplayString,
29522957
isCorporateCardTransaction,
29532958
isExpenseUnreported,

src/libs/actions/IOU/BulkEdit.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import {
2222
isSelfDM,
2323
shouldEnableNegative,
2424
} from '@libs/ReportUtils';
25-
import {calculateTaxAmount, getAmount, getClearedPendingFields, getCurrency, getTaxValue, getUpdatedTransaction, isOnHold} from '@libs/TransactionUtils';
25+
import {calculateTaxAmount, getAmount, getClearedPendingFields, getCurrency, getTaxValue, getUpdatedTransaction, isOnHold, isSplitChildTransaction} from '@libs/TransactionUtils';
2626
import ViolationsUtils from '@libs/Violations/ViolationsUtils';
2727
import {createTransactionThreadReport} from '@userActions/Report';
2828
import CONST from '@src/CONST';
@@ -151,7 +151,7 @@ function updateMultipleMoneyRequests({
151151
const supportsExpenseFields = isUnreportedExpense || isFromExpenseReport || isInvoiceReportReportUtils(baseIouReport ?? undefined);
152152
// Split children must keep their amount/currency/tax in sync with the split parent's totals.
153153
// Allow coding fields (category, tag, merchant, etc.) but block these so we never put the split out of sync.
154-
const isSplitChild = transaction.comment?.source === CONST.IOU.TYPE.SPLIT;
154+
const isSplitChild = isSplitChildTransaction(transaction);
155155
// Use the transaction's own policy for all per-transaction checks (permissions, tax, change-diffing).
156156
// Falls back to the shared bulk-edit policy when the transaction's workspace cannot be resolved.
157157
const transactionPolicy = (iouReport?.policyID ? allPolicies?.[`${ONYXKEYS.COLLECTION.POLICY}${iouReport.policyID}`] : undefined) ?? policy;

0 commit comments

Comments
 (0)