diff --git a/src/libs/actions/IOU.js b/src/libs/actions/IOU.js index acdbc200842b..86b933a6897d 100644 --- a/src/libs/actions/IOU.js +++ b/src/libs/actions/IOU.js @@ -621,12 +621,16 @@ function getMoneyRequestInformation( * @param {Boolean} [billable] */ function createDistanceRequest(report, participant, comment, created, transactionID, category, tag, amount, currency, merchant, billable) { + // If the report is an iou or expense report, we should get the linked chat report to be passed to the getMoneyRequestInformation function + const isMoneyRequestReport = ReportUtils.isMoneyRequestReport(report); + const currentChatReport = isMoneyRequestReport ? ReportUtils.getReport(report.chatReportID) : report; + const optimisticReceipt = { source: ReceiptGeneric, state: CONST.IOU.RECEIPT_STATE.OPEN, }; const {iouReport, chatReport, transaction, iouAction, createdChatReportActionID, createdIOUReportActionID, reportPreviewAction, onyxData} = getMoneyRequestInformation( - report, + currentChatReport, participant, comment, amount, @@ -660,7 +664,7 @@ function createDistanceRequest(report, participant, comment, created, transactio }, onyxData, ); - Navigation.dismissModal(chatReport.reportID); + Navigation.dismissModal(isMoneyRequestReport ? report.reportID : chatReport.reportID); Report.notifyNewAction(chatReport.reportID, userAccountID); } diff --git a/src/pages/iou/MoneyRequestSelectorPage.js b/src/pages/iou/MoneyRequestSelectorPage.js index 125a83cd0fd3..e6ea81fc896b 100644 --- a/src/pages/iou/MoneyRequestSelectorPage.js +++ b/src/pages/iou/MoneyRequestSelectorPage.js @@ -69,8 +69,9 @@ function MoneyRequestSelectorPage(props) { [CONST.IOU.TYPE.SPLIT]: translate('iou.splitBill'), }; const isFromGlobalCreate = !reportID; - const isExpenseRequest = ReportUtils.isPolicyExpenseChat(props.report); - const shouldDisplayDistanceRequest = isExpenseRequest || isFromGlobalCreate; + const isExpenseChat = ReportUtils.isPolicyExpenseChat(props.report); + const isExpenseReport = ReportUtils.isExpenseReport(props.report); + const shouldDisplayDistanceRequest = isExpenseChat || isExpenseReport || isFromGlobalCreate; const resetMoneyRequestInfo = () => { const moneyRequestID = `${iouType}${reportID}`;