From 91418577993607a6b1326e080c7c56529e16aa76 Mon Sep 17 00:00:00 2001 From: FitseTLT Date: Fri, 30 Aug 2024 23:30:16 +0300 Subject: [PATCH 1/4] replace correct canModifyReceipt logic in search receipt icon --- .../SelectionList/Search/TransactionListItemRow.tsx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/components/SelectionList/Search/TransactionListItemRow.tsx b/src/components/SelectionList/Search/TransactionListItemRow.tsx index 64c5f6a768f41..7314446e75dd8 100644 --- a/src/components/SelectionList/Search/TransactionListItemRow.tsx +++ b/src/components/SelectionList/Search/TransactionListItemRow.tsx @@ -1,6 +1,7 @@ import React from 'react'; import type {StyleProp, ViewStyle} from 'react-native'; import {View} from 'react-native'; +import {useOnyx} from 'react-native-onyx'; import Checkbox from '@components/Checkbox'; import Icon from '@components/Icon'; import * as Expensicons from '@components/Icon/Expensicons'; @@ -16,11 +17,14 @@ import useWindowDimensions from '@hooks/useWindowDimensions'; import * as CurrencyUtils from '@libs/CurrencyUtils'; import DateUtils from '@libs/DateUtils'; import Parser from '@libs/Parser'; +import {getIOUActionForReportID} from '@libs/ReportActionsUtils'; +import * as ReportUtils from '@libs/ReportUtils'; import StringUtils from '@libs/StringUtils'; import * as TransactionUtils from '@libs/TransactionUtils'; import tryResolveUrlFromApiRoot from '@libs/tryResolveUrlFromApiRoot'; import variables from '@styles/variables'; import CONST from '@src/CONST'; +import ONYXKEYS from '@src/ONYXKEYS'; import type {SearchTransactionType} from '@src/types/onyx/SearchResults'; import ActionCell from './ActionCell'; import ExpenseItemHeaderNarrow from './ExpenseItemHeaderNarrow'; @@ -79,7 +83,12 @@ function ReceiptCell({transactionItem}: TransactionCellProps) { const backgroundStyles = transactionItem.isSelected ? StyleUtils.getBackgroundColorStyle(theme.buttonHoveredBG) : StyleUtils.getBackgroundColorStyle(theme.border); const isViewAction = transactionItem.action === CONST.SEARCH.ACTION_TYPES.VIEW; - const canModifyReceipt = isViewAction && transactionItem.canDelete; + const parentReportAction = getIOUActionForReportID(transactionItem.reportID, transactionItem.transactionID); + const [report] = useOnyx(`${ONYXKEYS.COLLECTION.REPORT}${transactionItem.reportID ?? '-1'}`); + const canUserPerformWriteAction = !!ReportUtils.canUserPerformWriteAction(report); + const canEditReceipt = canUserPerformWriteAction && ReportUtils.canEditFieldOfMoneyRequest(parentReportAction, CONST.EDIT_REQUEST_FIELD.RECEIPT); + + const canModifyReceipt = isViewAction && canEditReceipt; return ( Date: Tue, 10 Sep 2024 23:58:13 +0300 Subject: [PATCH 2/4] remove unnecessary import --- src/components/SelectionList/Search/TransactionListItemRow.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/components/SelectionList/Search/TransactionListItemRow.tsx b/src/components/SelectionList/Search/TransactionListItemRow.tsx index 956bcce385acb..4a59b58a8273f 100644 --- a/src/components/SelectionList/Search/TransactionListItemRow.tsx +++ b/src/components/SelectionList/Search/TransactionListItemRow.tsx @@ -2,7 +2,6 @@ import {Str} from 'expensify-common'; import React from 'react'; import type {StyleProp, ViewStyle} from 'react-native'; import {View} from 'react-native'; -import {useOnyx} from 'react-native-onyx'; import Checkbox from '@components/Checkbox'; import Icon from '@components/Icon'; import * as Expensicons from '@components/Icon/Expensicons'; @@ -25,7 +24,6 @@ import * as TransactionUtils from '@libs/TransactionUtils'; import tryResolveUrlFromApiRoot from '@libs/tryResolveUrlFromApiRoot'; import variables from '@styles/variables'; import CONST from '@src/CONST'; -import ONYXKEYS from '@src/ONYXKEYS'; import type {SearchTransactionType} from '@src/types/onyx/SearchResults'; import ActionCell from './ActionCell'; import ExpenseItemHeaderNarrow from './ExpenseItemHeaderNarrow'; From 77c5300c3dde429e721c4275470d0d08200b31b1 Mon Sep 17 00:00:00 2001 From: FitseTLT Date: Sat, 14 Sep 2024 00:50:25 +0300 Subject: [PATCH 3/4] remove receipt plus icon asset --- assets/images/receipt-plus.svg | 1 - src/components/Icon/Expensicons.ts | 2 -- 2 files changed, 3 deletions(-) delete mode 100644 assets/images/receipt-plus.svg diff --git a/assets/images/receipt-plus.svg b/assets/images/receipt-plus.svg deleted file mode 100644 index ca4d96b3dfa5f..0000000000000 --- a/assets/images/receipt-plus.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/components/Icon/Expensicons.ts b/src/components/Icon/Expensicons.ts index 698dc33b4a030..22bcf710f8644 100644 --- a/src/components/Icon/Expensicons.ts +++ b/src/components/Icon/Expensicons.ts @@ -149,7 +149,6 @@ import Printer from '@assets/images/printer.svg'; import Profile from '@assets/images/profile.svg'; import QrCode from '@assets/images/qrcode.svg'; import QuestionMark from '@assets/images/question-mark-circle.svg'; -import ReceiptPlus from '@assets/images/receipt-plus.svg'; import ReceiptScan from '@assets/images/receipt-scan.svg'; import ReceiptSearch from '@assets/images/receipt-search.svg'; import ReceiptSlash from '@assets/images/receipt-slash.svg'; @@ -335,7 +334,6 @@ export { QrCode, QuestionMark, Receipt, - ReceiptPlus, ReceiptScan, ReceiptSlash, RemoveMembers, From 1569a2043165fa2c4d842614e974bf5605c1d0c9 Mon Sep 17 00:00:00 2001 From: FitseTLT Date: Mon, 16 Sep 2024 15:09:08 +0300 Subject: [PATCH 4/4] Revert "remove receipt plus icon asset" This reverts commit 77c5300c3dde429e721c4275470d0d08200b31b1. --- assets/images/receipt-plus.svg | 1 + src/components/Icon/Expensicons.ts | 2 ++ 2 files changed, 3 insertions(+) create mode 100644 assets/images/receipt-plus.svg diff --git a/assets/images/receipt-plus.svg b/assets/images/receipt-plus.svg new file mode 100644 index 0000000000000..ca4d96b3dfa5f --- /dev/null +++ b/assets/images/receipt-plus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/components/Icon/Expensicons.ts b/src/components/Icon/Expensicons.ts index 22bcf710f8644..698dc33b4a030 100644 --- a/src/components/Icon/Expensicons.ts +++ b/src/components/Icon/Expensicons.ts @@ -149,6 +149,7 @@ import Printer from '@assets/images/printer.svg'; import Profile from '@assets/images/profile.svg'; import QrCode from '@assets/images/qrcode.svg'; import QuestionMark from '@assets/images/question-mark-circle.svg'; +import ReceiptPlus from '@assets/images/receipt-plus.svg'; import ReceiptScan from '@assets/images/receipt-scan.svg'; import ReceiptSearch from '@assets/images/receipt-search.svg'; import ReceiptSlash from '@assets/images/receipt-slash.svg'; @@ -334,6 +335,7 @@ export { QrCode, QuestionMark, Receipt, + ReceiptPlus, ReceiptScan, ReceiptSlash, RemoveMembers,