Skip to content

Commit 37af206

Browse files
authored
Merge pull request Expensify#72252 from s77rt/per-diem-transaction
[CP Staging] Fix per diem transaction report id
2 parents 1373eb8 + 59a77cc commit 37af206

7 files changed

Lines changed: 18 additions & 18 deletions

src/libs/DistanceRequestUtils.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,10 @@ function getCustomUnitRateID({
297297
return customUnitRateID;
298298
}
299299

300+
if (reportID === CONST.REPORT.UNREPORTED_REPORT_ID) {
301+
return customUnitRateID;
302+
}
303+
300304
if (isEmptyObject(policy)) {
301305
return customUnitRateID;
302306
}

src/libs/actions/IOU.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2082,7 +2082,7 @@ function buildOnyxDataForMoneyRequest(moneyRequestParams: BuildOnyxDataForMoneyR
20822082
}
20832083

20842084
// We don't need to compute violations unless we're on a paid policy
2085-
if (!policy || !isPaidGroupPolicy(policy)) {
2085+
if (!policy || !isPaidGroupPolicy(policy) || transaction.reportID === CONST.REPORT.UNREPORTED_REPORT_ID) {
20862086
return [optimisticData, successData, failureData];
20872087
}
20882088

@@ -2509,11 +2509,6 @@ function buildOnyxDataForInvoice(invoiceParams: BuildOnyxDataForInvoiceParams):
25092509
}
25102510
}
25112511

2512-
// We don't need to compute violations unless we're on a paid policy
2513-
if (!policyParams.policy || !isPaidGroupPolicy(policyParams.policy)) {
2514-
return [optimisticData, successData, failureData];
2515-
}
2516-
25172512
return [optimisticData, successData, failureData];
25182513
}
25192514

@@ -2943,7 +2938,7 @@ function buildOnyxDataForTrackExpense({
29432938
}
29442939

29452940
// We don't need to compute violations unless we're on a paid policy
2946-
if (!policy || !isPaidGroupPolicy(policy)) {
2941+
if (!policy || !isPaidGroupPolicy(policy) || transaction.reportID === CONST.REPORT.UNREPORTED_REPORT_ID) {
29472942
return [optimisticData, successData, failureData];
29482943
}
29492944

src/pages/iou/request/step/IOURequestStepConfirmation.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -788,7 +788,7 @@ function IOURequestStepConfirmation({
788788

789789
formHasBeenSubmitted.current = true;
790790

791-
if (iouType !== CONST.IOU.TYPE.TRACK && isDistanceRequest && !isMovingTransactionFromTrackExpense) {
791+
if (iouType !== CONST.IOU.TYPE.TRACK && isDistanceRequest && !isMovingTransactionFromTrackExpense && !isUnreported) {
792792
createDistanceRequest(iouType === CONST.IOU.TYPE.SPLIT ? splitParticipants : selectedParticipants, trimmedComment);
793793
return;
794794
}

src/pages/iou/request/step/IOURequestStepDestination.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,8 @@ function IOURequestStepDestination({
8787
}
8888
if (selectedDestination !== destination.keyForList) {
8989
if (openedFromStartPage) {
90-
const shouldAutoReport = !!policy?.autoReporting || !!personalPolicy?.autoReporting || action !== CONST.IOU.ACTION.CREATE;
90+
// If we are not coming from the global create menu then this is always reported
91+
const shouldAutoReport = !!policy?.autoReporting || !!personalPolicy?.autoReporting || action !== CONST.IOU.ACTION.CREATE || !transaction?.isFromGlobalCreate;
9192
const transactionReportID = shouldAutoReport ? policyExpenseReport?.reportID : CONST.REPORT.UNREPORTED_REPORT_ID;
9293
setTransactionReport(transactionID, {reportID: transactionReportID}, true);
9394
setMoneyRequestParticipantsFromReport(transactionID, policyExpenseReport);

src/pages/iou/request/step/IOURequestStepDistance.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -388,14 +388,14 @@ function IOURequestStepDistance({
388388
!shouldRestrictUserBillableActions(defaultExpensePolicy.id)
389389
) {
390390
const activePolicyExpenseChat = getPolicyExpenseChat(currentUserPersonalDetails.accountID, defaultExpensePolicy?.id);
391+
const shouldAutoReport = !!defaultExpensePolicy?.autoReporting || !!personalPolicy?.autoReporting;
392+
const transactionReportID = shouldAutoReport ? activePolicyExpenseChat?.reportID : CONST.REPORT.UNREPORTED_REPORT_ID;
391393
const rateID = DistanceRequestUtils.getCustomUnitRateID({
392-
reportID: activePolicyExpenseChat?.reportID,
394+
reportID: transactionReportID,
393395
isPolicyExpenseChat: true,
394396
policy: defaultExpensePolicy,
395397
lastSelectedDistanceRates,
396398
});
397-
const shouldAutoReport = !!defaultExpensePolicy?.autoReporting || !!personalPolicy?.autoReporting;
398-
const transactionReportID = shouldAutoReport ? activePolicyExpenseChat?.reportID : CONST.REPORT.UNREPORTED_REPORT_ID;
399399
setTransactionReport(transactionID, {reportID: transactionReportID}, true);
400400
setCustomUnitRateID(transactionID, rateID);
401401
setMoneyRequestParticipantsFromReport(transactionID, activePolicyExpenseChat).then(() => {

src/pages/iou/request/step/IOURequestStepDistanceManual.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -244,15 +244,15 @@ function IOURequestStepDistanceManual({
244244
!shouldRestrictUserBillableActions(defaultExpensePolicy.id)
245245
) {
246246
const activePolicyExpenseChat = getPolicyExpenseChat(currentUserPersonalDetails.accountID, defaultExpensePolicy?.id);
247+
const shouldAutoReport = !!defaultExpensePolicy?.autoReporting || !!personalPolicy?.autoReporting;
248+
const transactionReportID = shouldAutoReport ? activePolicyExpenseChat?.reportID : CONST.REPORT.UNREPORTED_REPORT_ID;
247249
const rateID = DistanceRequestUtils.getCustomUnitRateID({
248-
reportID: activePolicyExpenseChat?.reportID,
250+
reportID: transactionReportID,
249251
isPolicyExpenseChat: true,
250252
policy: defaultExpensePolicy,
251253
lastSelectedDistanceRates,
252254
localeCompare,
253255
});
254-
const shouldAutoReport = !!defaultExpensePolicy?.autoReporting || !!personalPolicy?.autoReporting;
255-
const transactionReportID = shouldAutoReport ? activePolicyExpenseChat?.reportID : CONST.REPORT.UNREPORTED_REPORT_ID;
256256
setTransactionReport(transactionID, {reportID: transactionReportID}, true);
257257
setCustomUnitRateID(transactionID, rateID);
258258
setMoneyRequestParticipantsFromReport(transactionID, activePolicyExpenseChat).then(() => {

src/pages/iou/request/step/IOURequestStepDistanceMap.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -388,15 +388,15 @@ function IOURequestStepDistanceMap({
388388
!shouldRestrictUserBillableActions(defaultExpensePolicy.id)
389389
) {
390390
const activePolicyExpenseChat = getPolicyExpenseChat(currentUserPersonalDetails.accountID, defaultExpensePolicy?.id);
391+
const shouldAutoReport = !!defaultExpensePolicy?.autoReporting || !!personalPolicy?.autoReporting;
392+
const transactionReportID = shouldAutoReport ? activePolicyExpenseChat?.reportID : CONST.REPORT.UNREPORTED_REPORT_ID;
391393
const rateID = DistanceRequestUtils.getCustomUnitRateID({
392-
reportID: activePolicyExpenseChat?.reportID,
394+
reportID: transactionReportID,
393395
isPolicyExpenseChat: true,
394396
policy: defaultExpensePolicy,
395397
lastSelectedDistanceRates,
396398
localeCompare,
397399
});
398-
const shouldAutoReport = !!defaultExpensePolicy?.autoReporting || !!personalPolicy?.autoReporting;
399-
const transactionReportID = shouldAutoReport ? activePolicyExpenseChat?.reportID : CONST.REPORT.UNREPORTED_REPORT_ID;
400400
setTransactionReport(transactionID, {reportID: transactionReportID}, true);
401401
setCustomUnitRateID(transactionID, rateID);
402402
setMoneyRequestParticipantsFromReport(transactionID, activePolicyExpenseChat).then(() => {

0 commit comments

Comments
 (0)