From 9bfa4577584dc1e67d3d6f533284e7e071efafc6 Mon Sep 17 00:00:00 2001 From: Jan Nowakowski Date: Fri, 25 Apr 2025 13:16:29 +0200 Subject: [PATCH 1/3] Do not show hold option for invoice --- src/hooks/useSelectedTransactionsActions.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/hooks/useSelectedTransactionsActions.ts b/src/hooks/useSelectedTransactionsActions.ts index b33ece291a70..599d1d26a7bb 100644 --- a/src/hooks/useSelectedTransactionsActions.ts +++ b/src/hooks/useSelectedTransactionsActions.ts @@ -5,7 +5,7 @@ import {deleteMoneyRequest, unholdRequest} from '@libs/actions/IOU'; import {exportReportToCSV} from '@libs/actions/Report'; import Navigation from '@libs/Navigation/Navigation'; import {getIOUActionForTransactionID, getOriginalMessage, isDeletedAction, isMoneyRequestAction} from '@libs/ReportActionsUtils'; -import {canDeleteCardTransactionByLiabilityType, canDeleteTransaction} from '@libs/ReportUtils'; +import {canDeleteCardTransactionByLiabilityType, canDeleteTransaction, isExpenseReport, isIOUReport} from '@libs/ReportUtils'; import {getTransaction, isOnHold} from '@libs/TransactionUtils'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -30,8 +30,11 @@ function useSelectedTransactionsActions({report, reportActions, session, onExpor const anyTransactionOnHold = selectedTransactions.some(isOnHold); const allTransactionOnHold = selectedTransactions.every(isOnHold); const isReportReimbursed = report?.stateNum === CONST.REPORT.STATE_NUM.APPROVED && report?.statusNum === CONST.REPORT.STATUS_NUM.REIMBURSED; + const isExpense = isExpenseReport(report); + const isIOU = isIOUReport(report); + const iouOrExpenseReport = isExpense || isIOU; - if (!anyTransactionOnHold && selectedTransactions.length === 1 && !isReportReimbursed) { + if (iouOrExpenseReport && !anyTransactionOnHold && selectedTransactions.length === 1 && !isReportReimbursed) { options.push({ text: translate('iou.hold'), icon: Expensicons.Stopwatch, @@ -45,7 +48,7 @@ function useSelectedTransactionsActions({report, reportActions, session, onExpor }); } - if (allTransactionOnHold && selectedTransactions.length === 1) { + if (iouOrExpenseReport && allTransactionOnHold && selectedTransactions.length === 1) { options.push({ text: translate('iou.unhold'), icon: Expensicons.Stopwatch, From 86b4f49a775d2f5148d3dc1a54cc5fcc85f36d81 Mon Sep 17 00:00:00 2001 From: Jan Nowakowski Date: Fri, 25 Apr 2025 15:27:27 +0200 Subject: [PATCH 2/3] Follow naming guidelines --- src/hooks/useSelectedTransactionsActions.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/hooks/useSelectedTransactionsActions.ts b/src/hooks/useSelectedTransactionsActions.ts index 599d1d26a7bb..441afa83db02 100644 --- a/src/hooks/useSelectedTransactionsActions.ts +++ b/src/hooks/useSelectedTransactionsActions.ts @@ -5,7 +5,7 @@ import {deleteMoneyRequest, unholdRequest} from '@libs/actions/IOU'; import {exportReportToCSV} from '@libs/actions/Report'; import Navigation from '@libs/Navigation/Navigation'; import {getIOUActionForTransactionID, getOriginalMessage, isDeletedAction, isMoneyRequestAction} from '@libs/ReportActionsUtils'; -import {canDeleteCardTransactionByLiabilityType, canDeleteTransaction, isExpenseReport, isIOUReport} from '@libs/ReportUtils'; +import {canDeleteCardTransactionByLiabilityType, canDeleteTransaction, isExpenseReport as isExpenseReportUtils, isIOUReport as isIOUReportUtils} from '@libs/ReportUtils'; import {getTransaction, isOnHold} from '@libs/TransactionUtils'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -30,9 +30,9 @@ function useSelectedTransactionsActions({report, reportActions, session, onExpor const anyTransactionOnHold = selectedTransactions.some(isOnHold); const allTransactionOnHold = selectedTransactions.every(isOnHold); const isReportReimbursed = report?.stateNum === CONST.REPORT.STATE_NUM.APPROVED && report?.statusNum === CONST.REPORT.STATUS_NUM.REIMBURSED; - const isExpense = isExpenseReport(report); - const isIOU = isIOUReport(report); - const iouOrExpenseReport = isExpense || isIOU; + const isExpenseReport = isExpenseReportUtils(report); + const isIOUReport = isIOUReportUtils(report); + const iouOrExpenseReport = isExpenseReport || isIOUReport; if (iouOrExpenseReport && !anyTransactionOnHold && selectedTransactions.length === 1 && !isReportReimbursed) { options.push({ From 2956cffa8d1d0ea82c7cffe2614677668fab5f21 Mon Sep 17 00:00:00 2001 From: Jan Nowakowski Date: Mon, 28 Apr 2025 12:57:00 +0200 Subject: [PATCH 3/3] apply suggestion --- src/hooks/useSelectedTransactionsActions.ts | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/hooks/useSelectedTransactionsActions.ts b/src/hooks/useSelectedTransactionsActions.ts index 441afa83db02..1d62471a80d4 100644 --- a/src/hooks/useSelectedTransactionsActions.ts +++ b/src/hooks/useSelectedTransactionsActions.ts @@ -5,7 +5,7 @@ import {deleteMoneyRequest, unholdRequest} from '@libs/actions/IOU'; import {exportReportToCSV} from '@libs/actions/Report'; import Navigation from '@libs/Navigation/Navigation'; import {getIOUActionForTransactionID, getOriginalMessage, isDeletedAction, isMoneyRequestAction} from '@libs/ReportActionsUtils'; -import {canDeleteCardTransactionByLiabilityType, canDeleteTransaction, isExpenseReport as isExpenseReportUtils, isIOUReport as isIOUReportUtils} from '@libs/ReportUtils'; +import {canDeleteCardTransactionByLiabilityType, canDeleteTransaction, isMoneyRequestReport as isMoneyRequestReportUtils} from '@libs/ReportUtils'; import {getTransaction, isOnHold} from '@libs/TransactionUtils'; import CONST from '@src/CONST'; import ROUTES from '@src/ROUTES'; @@ -30,11 +30,9 @@ function useSelectedTransactionsActions({report, reportActions, session, onExpor const anyTransactionOnHold = selectedTransactions.some(isOnHold); const allTransactionOnHold = selectedTransactions.every(isOnHold); const isReportReimbursed = report?.stateNum === CONST.REPORT.STATE_NUM.APPROVED && report?.statusNum === CONST.REPORT.STATUS_NUM.REIMBURSED; - const isExpenseReport = isExpenseReportUtils(report); - const isIOUReport = isIOUReportUtils(report); - const iouOrExpenseReport = isExpenseReport || isIOUReport; + const isMoneyRequestReport = isMoneyRequestReportUtils(report); - if (iouOrExpenseReport && !anyTransactionOnHold && selectedTransactions.length === 1 && !isReportReimbursed) { + if (isMoneyRequestReport && !anyTransactionOnHold && selectedTransactions.length === 1 && !isReportReimbursed) { options.push({ text: translate('iou.hold'), icon: Expensicons.Stopwatch, @@ -48,7 +46,7 @@ function useSelectedTransactionsActions({report, reportActions, session, onExpor }); } - if (iouOrExpenseReport && allTransactionOnHold && selectedTransactions.length === 1) { + if (isMoneyRequestReport && allTransactionOnHold && selectedTransactions.length === 1) { options.push({ text: translate('iou.unhold'), icon: Expensicons.Stopwatch,