Hold option is available for paid expense in new expense report view#59894
Conversation
…port # Conflicts: # src/components/MoneyReportHeader.tsx
|
@DylanDylann Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
|
🚧 @mountiny has triggered a test app build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, Desktop, and Web. Happy testing! 🧪🧪 |
src/components/MoneyReportHeader.tsx
Outdated
| const isReportApprovedAndPaid = moneyRequestReport?.stateNum === CONST.REPORT.STATE_NUM.APPROVED && moneyRequestReport?.statusNum === CONST.REPORT.STATUS_NUM.REIMBURSED; | ||
|
|
||
| if (!anyTransactionOnHold && selectedTransactions.length === 1) { | ||
| if (!anyTransactionOnHold && selectedTransactions.length === 1 && !isReportApprovedAndPaid) { |
There was a problem hiding this comment.
selectedTransactions.length === 1
Unrelated to this fix, why do we need to add this condition?
There was a problem hiding this comment.
One more thing, should hold option be available for approved expenses in the new expense report view?
There was a problem hiding this comment.
There was a problem hiding this comment.
We check if the length is 1 because the API accepts a maximum one transaction at a time on hold, and we’ve decided that sending in a loop is not a good solution.
Reviewer Checklist
Screenshots/VideosAndroid: NativeOpsss.... Failed Build from me |
src/components/MoneyReportHeader.tsx
Outdated
|
|
||
| const anyTransactionOnHold = selectedTransactions.some(isOnHoldTransactionUtils); | ||
| const allTransactionOnHold = selectedTransactions.every(isOnHoldTransactionUtils); | ||
| const isReportApprovedAndPaid = moneyRequestReport?.stateNum === CONST.REPORT.STATE_NUM.APPROVED && moneyRequestReport?.statusNum === CONST.REPORT.STATUS_NUM.REIMBURSED; |
There was a problem hiding this comment.
I think we just name this paid. You can use the isReportManuallyReimbursed method for that too
| const isReportApprovedAndPaid = moneyRequestReport?.stateNum === CONST.REPORT.STATE_NUM.APPROVED && moneyRequestReport?.statusNum === CONST.REPORT.STATUS_NUM.REIMBURSED; | |
| const isReportReimbursed = moneyRequestReport?.stateNum === CONST.REPORT.STATE_NUM.APPROVED && moneyRequestReport?.statusNum === CONST.REPORT.STATUS_NUM.REIMBURSED; |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/mountiny in version: 9.1.27-0 🚀
|
|
🚀 Deployed to production by https://github.com/marcaaron in version: 9.1.28-15 🚀
|





Explanation of Change
Fixed Issues
$ #59828
PROPOSAL:
Tests
Platforms:
MacOS: Chrome / Safari
MacOS: Desktop
Expected: there is no HOLD there
Offline tests
unnesesary
QA Steps
Same as test
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
hold.web.mov
MacOS: Desktop