Skip to content

Commit 49f730f

Browse files
Merge pull request #30881 from paultsimura/fix/30407-distance-from-expense
fix: allow creating Distance request from expense reports
2 parents 24f306c + 98327c2 commit 49f730f

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

src/libs/actions/IOU.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -621,12 +621,16 @@ function getMoneyRequestInformation(
621621
* @param {Boolean} [billable]
622622
*/
623623
function createDistanceRequest(report, participant, comment, created, transactionID, category, tag, amount, currency, merchant, billable) {
624+
// If the report is an iou or expense report, we should get the linked chat report to be passed to the getMoneyRequestInformation function
625+
const isMoneyRequestReport = ReportUtils.isMoneyRequestReport(report);
626+
const currentChatReport = isMoneyRequestReport ? ReportUtils.getReport(report.chatReportID) : report;
627+
624628
const optimisticReceipt = {
625629
source: ReceiptGeneric,
626630
state: CONST.IOU.RECEIPT_STATE.OPEN,
627631
};
628632
const {iouReport, chatReport, transaction, iouAction, createdChatReportActionID, createdIOUReportActionID, reportPreviewAction, onyxData} = getMoneyRequestInformation(
629-
report,
633+
currentChatReport,
630634
participant,
631635
comment,
632636
amount,
@@ -660,7 +664,7 @@ function createDistanceRequest(report, participant, comment, created, transactio
660664
},
661665
onyxData,
662666
);
663-
Navigation.dismissModal(chatReport.reportID);
667+
Navigation.dismissModal(isMoneyRequestReport ? report.reportID : chatReport.reportID);
664668
Report.notifyNewAction(chatReport.reportID, userAccountID);
665669
}
666670

src/pages/iou/MoneyRequestSelectorPage.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,9 @@ function MoneyRequestSelectorPage(props) {
6969
[CONST.IOU.TYPE.SPLIT]: translate('iou.splitBill'),
7070
};
7171
const isFromGlobalCreate = !reportID;
72-
const isExpenseRequest = ReportUtils.isPolicyExpenseChat(props.report);
73-
const shouldDisplayDistanceRequest = isExpenseRequest || isFromGlobalCreate;
72+
const isExpenseChat = ReportUtils.isPolicyExpenseChat(props.report);
73+
const isExpenseReport = ReportUtils.isExpenseReport(props.report);
74+
const shouldDisplayDistanceRequest = isExpenseChat || isExpenseReport || isFromGlobalCreate;
7475

7576
const resetMoneyRequestInfo = () => {
7677
const moneyRequestID = `${iouType}${reportID}`;

0 commit comments

Comments
 (0)