From 283d2c5ca24926e5737bc58df12c8164744417d3 Mon Sep 17 00:00:00 2001 From: Mangesh-Khairnar Date: Tue, 11 Jun 2019 16:35:29 +0530 Subject: [PATCH] fix: only create leave application ledger on intermediate allocation expiry --- .../leave_application/leave_application.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/erpnext/hr/doctype/leave_application/leave_application.py b/erpnext/hr/doctype/leave_application/leave_application.py index a9e4f05ca2b..f6550f0dbe3 100755 --- a/erpnext/hr/doctype/leave_application/leave_application.py +++ b/erpnext/hr/doctype/leave_application/leave_application.py @@ -370,18 +370,19 @@ class LeaveApplication(Document): ''' splits leave application into two ledger entries to consider expiry of allocation ''' args = dict( from_date=self.from_date, - to_date=self.to_date, + to_date=expiry_date, leaves=(date_diff(expiry_date, self.from_date) + 1) * -1 ) create_leave_ledger_entry(self, args, submit) - start_date = add_days(expiry_date, 1) - args.update(dict( - from_date=start_date, - to_date=self.to_date, - leaves=date_diff(self.to_date, expiry_date) * -1 - )) - create_leave_ledger_entry(self, args, submit) + if expiry_date != self.to_date: + start_date = add_days(expiry_date, 1) + args.update(dict( + from_date=start_date, + to_date=self.to_date, + leaves=date_diff(self.to_date, expiry_date) * -1 + )) + create_leave_ledger_entry(self, args, submit) def get_allocation_expiry(employee, leave_type, to_date, from_date): expiry = frappe.get_all("Leave Ledger Entry",