Skip to content

Commit 6c1fb88

Browse files
authored
Merge pull request #88778 from parasharrajat/onyx/session-11
Refactor bulk reject function
2 parents e4b605b + 61e55b4 commit 6c1fb88

2 files changed

Lines changed: 22 additions & 11 deletions

File tree

src/libs/actions/Search.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ import type {OnyxData} from '@src/types/onyx/Request';
7474
import type Nullable from '@src/types/utils/Nullable';
7575
import SafeString from '@src/utils/SafeString';
7676
import {setPersonalBankAccountContinueKYCOnSuccess} from './BankAccounts';
77-
import {getCurrentUserEmail} from './IOU';
7877
import {deleteMoneyRequest} from './IOU/DeleteMoneyRequest';
7978
import {prepareRejectMoneyRequestData, rejectMoneyRequest} from './IOU/RejectMoneyRequest';
8079
import type {RejectMoneyRequestData} from './IOU/RejectMoneyRequest';
@@ -984,6 +983,7 @@ function rejectMoneyRequestInBulk(
984983
policy: OnyxEntry<Policy>,
985984
transactionIDs: string[],
986985
currentUserAccountIDParam: number,
986+
currentUserLogin: string,
987987
betas: OnyxEntry<Beta[]>,
988988
hash?: number,
989989
) {
@@ -1004,7 +1004,7 @@ function rejectMoneyRequestInBulk(
10041004
}
10051005
> = {};
10061006
for (const transactionID of transactionIDs) {
1007-
const data = prepareRejectMoneyRequestData(transactionID, reportID, comment, policy, currentUserAccountIDParam, getCurrentUserEmail(), betas, undefined, true);
1007+
const data = prepareRejectMoneyRequestData(transactionID, reportID, comment, policy, currentUserAccountIDParam, currentUserLogin, betas, undefined, true);
10081008
if (data) {
10091009
optimisticData.push(...data.optimisticData);
10101010
successData.push(...data.successData);
@@ -1039,6 +1039,7 @@ function rejectMoneyRequestsOnSearch(
10391039
allPolicies: OnyxCollection<Policy>,
10401040
allReports: OnyxCollection<Report>,
10411041
currentUserAccountIDParam: number,
1042+
currentUserLogin: string,
10421043
betas: OnyxEntry<Beta[]>,
10431044
) {
10441045
const transactionIDs = Object.keys(selectedTransactions);
@@ -1072,12 +1073,12 @@ function rejectMoneyRequestsOnSearch(
10721073
const policy = allPolicies?.[`${ONYXKEYS.COLLECTION.POLICY}${report?.policyID}`];
10731074
const isPolicyDelayedSubmissionEnabled = policy ? isDelayedSubmissionEnabled(policy) : false;
10741075
if (isPolicyDelayedSubmissionEnabled && areAllExpensesSelected) {
1075-
rejectMoneyRequestInBulk(reportID, comment, policy, selectedTransactionIDs, currentUserAccountIDParam, betas, hash);
1076+
rejectMoneyRequestInBulk(reportID, comment, policy, selectedTransactionIDs, currentUserAccountIDParam, currentUserLogin, betas, hash);
10761077
} else {
10771078
// Share a single destination ID across all rejections from the same source report
10781079
const sharedRejectedToReportID = generateReportID();
10791080
for (const transactionID of selectedTransactionIDs) {
1080-
rejectMoneyRequest(transactionID, reportID, comment, policy, currentUserAccountIDParam, getCurrentUserEmail(), betas, {sharedRejectedToReportID});
1081+
rejectMoneyRequest(transactionID, reportID, comment, policy, currentUserAccountIDParam, currentUserLogin, betas, {sharedRejectedToReportID});
10811082
}
10821083
}
10831084
if (isSingleReport && areAllExpensesSelected && !isPolicyDelayedSubmissionEnabled) {

src/pages/Search/SearchRejectReasonPage.tsx

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ function SearchRejectReasonPage({route}: SearchRejectReasonPageProps) {
3030
const {translate} = useLocalize();
3131

3232
const [betas] = useOnyx(ONYXKEYS.BETAS);
33-
const {accountID: currentUserAccountID} = useCurrentUserPersonalDetails();
33+
const {accountID: currentUserAccountID, login: currentUserLogin} = useCurrentUserPersonalDetails();
3434
// When coming from the report view, selectedTransactions is empty, build it from selectedTransactionIDs
3535
const selectedTransactionsForReject = useMemo(() => {
3636
if (route.name === SCREENS.SEARCH.MONEY_REQUEST_REPORT_REJECT_TRANSACTIONS && reportID) {
@@ -51,7 +51,16 @@ function SearchRejectReasonPage({route}: SearchRejectReasonPageProps) {
5151
return;
5252
}
5353

54-
const urlToNavigateBack = rejectMoneyRequestsOnSearch(currentSearchHash, selectedTransactionsForReject, comment, allPolicies, allReports, currentUserAccountID, betas);
54+
const urlToNavigateBack = rejectMoneyRequestsOnSearch(
55+
currentSearchHash,
56+
selectedTransactionsForReject,
57+
comment,
58+
allPolicies,
59+
allReports,
60+
currentUserAccountID,
61+
currentUserLogin ?? '',
62+
betas,
63+
);
5564
if (route.name === SCREENS.SEARCH.MONEY_REQUEST_REPORT_REJECT_TRANSACTIONS) {
5665
clearSelectedTransactions(true);
5766
} else {
@@ -63,16 +72,17 @@ function SearchRejectReasonPage({route}: SearchRejectReasonPageProps) {
6372
}
6473
},
6574
[
75+
isDelegateAccessRestricted,
6676
currentSearchHash,
67-
clearSelectedTransactions,
77+
selectedTransactionsForReject,
6878
allPolicies,
6979
allReports,
70-
route.name,
71-
selectedTransactionsForReject,
72-
isDelegateAccessRestricted,
7380
currentUserAccountID,
74-
showDelegateNoAccessModal,
81+
currentUserLogin,
7582
betas,
83+
route.name,
84+
showDelegateNoAccessModal,
85+
clearSelectedTransactions,
7686
],
7787
);
7888

0 commit comments

Comments
 (0)