diff --git a/src/libs/ReportUtils.ts b/src/libs/ReportUtils.ts index e3708126322f..27ead70e65f7 100644 --- a/src/libs/ReportUtils.ts +++ b/src/libs/ReportUtils.ts @@ -4048,7 +4048,8 @@ function doesTransactionThreadHaveViolations(report: OnyxEntry, transact if (report?.stateNum !== CONST.REPORT.STATE_NUM.OPEN && report?.stateNum !== CONST.REPORT.STATE_NUM.SUBMITTED) { return false; } - return TransactionUtils.hasViolation(IOUTransactionID, transactionViolations); + + return TransactionUtils.hasViolation(IOUTransactionID, transactionViolations) && !isSettled(IOUReportID); } /** @@ -4135,10 +4136,8 @@ function shouldReportBeInOptionList({ return true; } - const reportIsSettled = report.statusNum === CONST.REPORT.STATUS_NUM.REIMBURSED; - - // Always show IOU reports with violations unless they are reimbursed - if (isExpenseRequest(report) && doesReportHaveViolations && !reportIsSettled) { + // Always show IOU reports with violations + if (isExpenseRequest(report) && doesReportHaveViolations) { return true; } diff --git a/src/libs/SidebarUtils.ts b/src/libs/SidebarUtils.ts index 3ad22a7f9c9d..71b3fd23a03c 100644 --- a/src/libs/SidebarUtils.ts +++ b/src/libs/SidebarUtils.ts @@ -250,11 +250,6 @@ function getOptionData({ const participantPersonalDetailList = Object.values(OptionsListUtils.getPersonalDetailsForAccountIDs(participantAccountIDs, personalDetails)) as PersonalDetails[]; const personalDetail = participantPersonalDetailList[0] ?? {}; const hasErrors = Object.keys(result.allReportErrors ?? {}).length !== 0; - let shouldShowViolations = false; - if (hasViolations && parentReportAction?.actionName === CONST.REPORT.ACTIONS.TYPE.IOU) { - const {IOUReportID} = parentReportAction?.originalMessage ?? {}; - shouldShowViolations = !ReportUtils.isSettled(IOUReportID); - } result.isThread = ReportUtils.isChatThread(report); result.isChatRoom = ReportUtils.isChatRoom(report); @@ -266,7 +261,7 @@ function getOptionData({ result.isMoneyRequestReport = ReportUtils.isMoneyRequestReport(report); result.shouldShowSubscript = ReportUtils.shouldReportShowSubscript(report); result.pendingAction = report.pendingFields?.addWorkspaceRoom ?? report.pendingFields?.createChat; - result.brickRoadIndicator = hasErrors || shouldShowViolations ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : ''; + result.brickRoadIndicator = hasErrors || hasViolations ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : ''; result.ownerAccountID = report.ownerAccountID; result.managerID = report.managerID; result.reportID = report.reportID;