From 6a46e32aef55d70819ae442ccc79cc28fe3262e9 Mon Sep 17 00:00:00 2001 From: Nabi Ebrahimi Date: Tue, 3 Jun 2025 13:36:05 +0430 Subject: [PATCH 1/2] fix: check report managerID beside policy approver in isApprover --- src/libs/ReportPrimaryActionUtils.ts | 2 +- src/libs/actions/Policy/Member.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libs/ReportPrimaryActionUtils.ts b/src/libs/ReportPrimaryActionUtils.ts index effe6b152439..b38e04105290 100644 --- a/src/libs/ReportPrimaryActionUtils.ts +++ b/src/libs/ReportPrimaryActionUtils.ts @@ -93,7 +93,7 @@ function isApproveAction(report: Report, reportTransactions: Transaction[], poli return false; } const isExpenseReport = isExpenseReportUtils(report); - const isReportApprover = isApproverUtils(policy, currentUserAccountID); + const isReportApprover = isApproverUtils(policy, currentUserAccountID, managerID); const isApprovalEnabled = policy?.approvalMode && policy.approvalMode !== CONST.POLICY.APPROVAL_MODE.OPTIONAL; if (!isExpenseReport || !isReportApprover || !isApprovalEnabled || reportTransactions.length === 0) { diff --git a/src/libs/actions/Policy/Member.ts b/src/libs/actions/Policy/Member.ts index 6b73f87fd528..be772e0c01e3 100644 --- a/src/libs/actions/Policy/Member.ts +++ b/src/libs/actions/Policy/Member.ts @@ -113,9 +113,9 @@ Onyx.connect({ }); /** Check if the passed employee is an approver in the policy's employeeList */ -function isApprover(policy: OnyxEntry, employeeAccountID: number) { +function isApprover(policy: OnyxEntry, employeeAccountID: number, managerID?: number) { const employeeLogin = allPersonalDetails?.[employeeAccountID]?.login; - if (policy?.approver === employeeLogin) { + if (policy?.approver === employeeLogin || managerID === employeeAccountID) { return true; } return Object.values(policy?.employeeList ?? {}).some( From 51699ed3a26b582467efb5a1b356aa385ba74a07 Mon Sep 17 00:00:00 2001 From: Nabi Ebrahimi Date: Tue, 3 Jun 2025 19:09:06 +0430 Subject: [PATCH 2/2] removed option managerID --- src/libs/ReportPrimaryActionUtils.ts | 2 +- src/libs/actions/Policy/Member.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libs/ReportPrimaryActionUtils.ts b/src/libs/ReportPrimaryActionUtils.ts index b38e04105290..0f5960619767 100644 --- a/src/libs/ReportPrimaryActionUtils.ts +++ b/src/libs/ReportPrimaryActionUtils.ts @@ -93,7 +93,7 @@ function isApproveAction(report: Report, reportTransactions: Transaction[], poli return false; } const isExpenseReport = isExpenseReportUtils(report); - const isReportApprover = isApproverUtils(policy, currentUserAccountID, managerID); + const isReportApprover = isApproverUtils(policy, currentUserAccountID) || managerID === currentUserAccountID; const isApprovalEnabled = policy?.approvalMode && policy.approvalMode !== CONST.POLICY.APPROVAL_MODE.OPTIONAL; if (!isExpenseReport || !isReportApprover || !isApprovalEnabled || reportTransactions.length === 0) { diff --git a/src/libs/actions/Policy/Member.ts b/src/libs/actions/Policy/Member.ts index be772e0c01e3..6b73f87fd528 100644 --- a/src/libs/actions/Policy/Member.ts +++ b/src/libs/actions/Policy/Member.ts @@ -113,9 +113,9 @@ Onyx.connect({ }); /** Check if the passed employee is an approver in the policy's employeeList */ -function isApprover(policy: OnyxEntry, employeeAccountID: number, managerID?: number) { +function isApprover(policy: OnyxEntry, employeeAccountID: number) { const employeeLogin = allPersonalDetails?.[employeeAccountID]?.login; - if (policy?.approver === employeeLogin || managerID === employeeAccountID) { + if (policy?.approver === employeeLogin) { return true; } return Object.values(policy?.employeeList ?? {}).some(