Skip to content

Commit 9d9acde

Browse files
Merge pull request #47864 from Expensify/neil-track-custom-rate
Track expense with custom distance rate
2 parents 82b6db1 + 0a2c8ed commit 9d9acde

File tree

4 files changed

+24
-1
lines changed

4 files changed

+24
-1
lines changed

src/libs/API/parameters/TrackExpenseParams.ts

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ type TrackExpenseParams = {
2727
createdReportActionIDForThread: string;
2828
waypoints?: string;
2929
actionableWhisperReportActionID?: string;
30+
customUnitRateID?: string;
3031
};
3132

3233
export default TrackExpenseParams;

src/libs/actions/IOU.ts

+2
Original file line numberDiff line numberDiff line change
@@ -3666,6 +3666,7 @@ function trackExpense(
36663666
actionableWhisperReportActionID?: string,
36673667
linkedTrackedExpenseReportAction?: OnyxTypes.ReportAction,
36683668
linkedTrackedExpenseReportID?: string,
3669+
customUnitRateID?: string,
36693670
) {
36703671
const isMoneyRequestReport = ReportUtils.isMoneyRequestReport(report);
36713672
const currentChatReport = isMoneyRequestReport ? ReportUtils.getReportOrDraftReport(report.chatReportID) : report;
@@ -3805,6 +3806,7 @@ function trackExpense(
38053806
transactionThreadReportID: transactionThreadReportID ?? '-1',
38063807
createdReportActionIDForThread: createdReportActionIDForThread ?? '-1',
38073808
waypoints: validWaypoints ? JSON.stringify(validWaypoints) : undefined,
3809+
customUnitRateID,
38083810
};
38093811
if (actionableWhisperReportActionIDParam) {
38103812
parameters.actionableWhisperReportActionID = actionableWhisperReportActionIDParam;

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

+14-1
Original file line numberDiff line numberDiff line change
@@ -303,9 +303,22 @@ function IOURequestStepConfirmation({
303303
transaction.actionableWhisperReportActionID,
304304
transaction.linkedTrackedExpenseReportAction,
305305
transaction.linkedTrackedExpenseReportID,
306+
customUnitRateID,
306307
);
307308
},
308-
[report, transaction, currentUserPersonalDetails.login, currentUserPersonalDetails.accountID, transactionTaxCode, transactionTaxAmount, policy, policyTags, policyCategories, action],
309+
[
310+
report,
311+
transaction,
312+
currentUserPersonalDetails.login,
313+
currentUserPersonalDetails.accountID,
314+
transactionTaxCode,
315+
transactionTaxAmount,
316+
policy,
317+
policyTags,
318+
policyCategories,
319+
action,
320+
customUnitRateID,
321+
],
309322
);
310323

311324
const createDistanceRequest = useCallback(

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

+7
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ function IOURequestStepDistance({
118118
const isCreatingNewRequest = !(backTo || isEditing);
119119
const [recentWaypoints, {status: recentWaypointsStatus}] = useOnyx(ONYXKEYS.NVP_RECENT_WAYPOINTS);
120120
const iouRequestType = TransactionUtils.getRequestType(transaction);
121+
const customUnitRateID = TransactionUtils.getRateID(transaction);
121122

122123
// For quick button actions, we'll skip the confirmation page unless the report is archived or this is a workspace
123124
// request and the workspace requires a category or a tag
@@ -293,6 +294,11 @@ function IOURequestStepDistance({
293294
undefined,
294295
undefined,
295296
TransactionUtils.getValidWaypoints(waypoints, true),
297+
undefined,
298+
undefined,
299+
undefined,
300+
undefined,
301+
customUnitRateID,
296302
);
297303
return;
298304
}
@@ -346,6 +352,7 @@ function IOURequestStepDistance({
346352
policy,
347353
iouRequestType,
348354
reportNameValuePairs,
355+
customUnitRateID,
349356
]);
350357

351358
const getError = () => {

0 commit comments

Comments
 (0)