From e2194ec4bd746d31d9ba49b6cd3e9b989177108a Mon Sep 17 00:00:00 2001 From: Rucha Mahabal Date: Wed, 10 Jan 2024 17:03:19 +0530 Subject: [PATCH] fix: expired leave balance is -ve when leaves taken > carry forwarded expired leaves (#1288) (cherry picked from commit 59c2158af6479b65c4df42aa2221d5da2b7c5cb3) --- .../report/employee_leave_balance/employee_leave_balance.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hrms/hr/report/employee_leave_balance/employee_leave_balance.py b/hrms/hr/report/employee_leave_balance/employee_leave_balance.py index c6ac3eb7b9..41e38bfd6b 100644 --- a/hrms/hr/report/employee_leave_balance/employee_leave_balance.py +++ b/hrms/hr/report/employee_leave_balance/employee_leave_balance.py @@ -201,7 +201,10 @@ def get_allocated_and_expired_leaves( # leave allocations ending before to_date, reduce leaves taken within that period # since they are already used, they won't expire expired_leaves += record.leaves - expired_leaves += get_leaves_for_period(employee, leave_type, record.from_date, record.to_date) + leaves_for_period = get_leaves_for_period( + employee, leave_type, record.from_date, record.to_date + ) + expired_leaves -= min(abs(leaves_for_period), record.leaves) if record.from_date >= getdate(from_date): if record.is_carry_forward: