@@ -36,7 +36,7 @@ import getNonEmptyStringOnyxID from '@libs/getNonEmptyStringOnyxID';
3636import { getRateFromMerchant } from '@libs/MergeTransactionUtils' ;
3737import { hasEnabledOptions } from '@libs/OptionsListUtils' ;
3838import Parser from '@libs/Parser' ;
39- import { getLengthOfTag , getTagLists , hasDependentTags as hasDependentTagsPolicyUtils , isTaxTrackingEnabled } from '@libs/PolicyUtils' ;
39+ import { canSubmitPerDiemExpenseFromWorkspace , getLengthOfTag , getTagLists , hasDependentTags as hasDependentTagsPolicyUtils , isTaxTrackingEnabled } from '@libs/PolicyUtils' ;
4040import { getOriginalMessage , isMoneyRequestAction } from '@libs/ReportActionsUtils' ;
4141import { isSplitAction } from '@libs/ReportSecondaryActionUtils' ;
4242import type { TransactionDetails } from '@libs/ReportUtils' ;
@@ -261,8 +261,11 @@ function MoneyRequestView({
261261 const canEditDistance = isEditable && canEditFieldOfMoneyRequest ( parentReportAction , CONST . EDIT_REQUEST_FIELD . DISTANCE , undefined , isChatReportArchived ) ;
262262 const canEditDistanceRate = isEditable && canEditFieldOfMoneyRequest ( parentReportAction , CONST . EDIT_REQUEST_FIELD . DISTANCE_RATE , undefined , isChatReportArchived ) ;
263263 const canEditReport = useMemo (
264- ( ) => isEditable && canEditFieldOfMoneyRequest ( parentReportAction , CONST . EDIT_REQUEST_FIELD . REPORT , undefined , isChatReportArchived , outstandingReportsByPolicyID ) ,
265- [ isEditable , parentReportAction , isChatReportArchived , outstandingReportsByPolicyID ] ,
264+ ( ) =>
265+ isEditable &&
266+ canEditFieldOfMoneyRequest ( parentReportAction , CONST . EDIT_REQUEST_FIELD . REPORT , undefined , isChatReportArchived , outstandingReportsByPolicyID ) &&
267+ ( ! isPerDiemRequest || canSubmitPerDiemExpenseFromWorkspace ( policy ) ) ,
268+ [ isEditable , parentReportAction , isChatReportArchived , outstandingReportsByPolicyID , isPerDiemRequest , policy ] ,
266269 ) ;
267270
268271 // A flag for verifying that the current report is a sub-report of a expense chat
@@ -288,7 +291,6 @@ function MoneyRequestView({
288291 policy ?. defaultReimbursable !== undefined && ! ! ( updatedTransaction ?. reimbursable ?? transactionReimbursable ) !== policy . defaultReimbursable ;
289292 const shouldShowReimbursable =
290293 ( isPolicyExpenseChat || isExpenseUnreported ) &&
291- ! ! policyForMovingExpensesID &&
292294 ( policy ?. disabledFields ?. reimbursable !== true || isCurrentTransactionReimbursableDifferentFromPolicyDefault ) &&
293295 ! isCardTransaction &&
294296 ! isInvoice ;
0 commit comments