Skip to content

Commit d9d62c8

Browse files
committed
fix missing GBR on partial approval
1 parent 1d48288 commit d9d62c8

3 files changed

Lines changed: 6 additions & 3 deletions

File tree

src/components/LHNOptionsList/OptionRowLHN.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ import {
3737
isPolicyExpenseChat,
3838
isSystemChat,
3939
isThread,
40-
requiresAttentionFromCurrentUser,
4140
} from '@libs/ReportUtils';
4241
import {showContextMenu} from '@pages/home/report/ContextMenu/ReportActionContextMenu';
4342
import FreeTrial from '@pages/settings/Subscription/FreeTrial';
@@ -120,7 +119,7 @@ function OptionRowLHN({reportID, isFocused = false, onSelectRow = () => {}, opti
120119
}
121120

122121
const hasBrickError = optionItem.brickRoadIndicator === CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR;
123-
const shouldShowGreenDotIndicator = !hasBrickError && requiresAttentionFromCurrentUser(optionItem, optionItem.parentReportAction);
122+
const shouldShowGreenDotIndicator = optionItem.shouldShowGreenDot === true;
124123
const textStyle = isFocused ? styles.sidebarLinkActiveText : styles.sidebarLinkText;
125124
const textUnreadStyle = shouldUseBoldText(optionItem) ? [textStyle, styles.sidebarLinkTextBold] : [textStyle];
126125
const displayNameStyle = [styles.optionDisplayName, styles.optionDisplayNameCompact, styles.pre, textUnreadStyle, style];

src/libs/ReportUtils.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -688,6 +688,7 @@ type OptionData = {
688688
alternateText?: string;
689689
allReportErrors?: Errors;
690690
brickRoadIndicator?: ValueOf<typeof CONST.BRICK_ROAD_INDICATOR_STATUS> | '' | null;
691+
shouldShowGreenDot?: boolean;
691692
tooltipText?: string | null;
692693
alternateTextMaxLines?: number;
693694
boldStyle?: boolean;
@@ -3360,7 +3361,8 @@ function getReasonAndReportActionThatRequiresAttention(
33603361
const hasOnlyPendingTransactions = transactions.length > 0 && transactions.every((t) => isExpensifyCardTransaction(t) && isPending(t));
33613362

33623363
// Has a child report that is awaiting action (e.g. approve, pay, add bank account) from current user
3363-
if (optionOrReport.hasOutstandingChildRequest && !hasOnlyPendingTransactions) {
3364+
const policy = getPolicy(optionOrReport.policyID);
3365+
if ((optionOrReport.hasOutstandingChildRequest === true || iouReportActionToApproveOrPay?.reportActionID) && (policy?.reimbursementChoice !== CONST.POLICY.REIMBURSEMENT_CHOICES.REIMBURSEMENT_NO ||!hasOnlyPendingTransactions)) {
33643366
return {
33653367
reason: CONST.REQUIRES_ATTENTION_REASONS.HAS_CHILD_REPORT_AWAITING_ACTION,
33663368
reportAction: iouReportActionToApproveOrPay,

src/libs/SidebarUtils.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,7 @@ function getOptionData({
468468
isAllowedToComment: true,
469469
isDeletedParentAction: false,
470470
isConciergeChat: false,
471+
shouldShowGreenDot: false,
471472
};
472473

473474
const participantAccountIDs = getParticipantsAccountIDsForDisplay(report);
@@ -514,6 +515,7 @@ function getOptionData({
514515
result.hasParentAccess = report.hasParentAccess;
515516
result.isConciergeChat = isConciergeChatReport(report);
516517
result.participants = report.participants;
518+
result.shouldShowGreenDot = result.brickRoadIndicator !== CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR && requiresAttentionFromCurrentUser(report, parentReportAction)
517519

518520
const hasMultipleParticipants = participantPersonalDetailList.length > 1 || result.isChatRoom || result.isPolicyExpenseChat || isExpenseReport(report);
519521
const subtitle = getChatRoomSubtitle(report);

0 commit comments

Comments
 (0)