Merge pull request #18791 from Mangesh-Khairnar/fix-ledger-entry

fix: ledger entries
diff --git a/erpnext/hr/doctype/leave_ledger_entry/leave_ledger_entry.json b/erpnext/hr/doctype/leave_ledger_entry/leave_ledger_entry.json
index c114222..771e706 100644
--- a/erpnext/hr/doctype/leave_ledger_entry/leave_ledger_entry.json
+++ b/erpnext/hr/doctype/leave_ledger_entry/leave_ledger_entry.json
@@ -27,6 +27,7 @@
    "options": "Employee"
   },
   {
+   "fetch_from": "employee.employee_name",
    "fieldname": "employee_name",
    "fieldtype": "Data",
    "label": "Employee Name"
@@ -101,7 +102,7 @@
  ],
  "in_create": 1,
  "is_submittable": 1,
- "modified": "2019-06-21 00:37:07.782810",
+ "modified": "2019-08-20 14:40:04.130799",
  "modified_by": "Administrator",
  "module": "HR",
  "name": "Leave Ledger Entry",
diff --git a/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py b/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py
index 66e3614..22f0203 100644
--- a/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py
+++ b/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py
@@ -97,16 +97,15 @@
 
 def get_total_allocated_leaves(employee, leave_type, from_date, to_date):
 	''' Returns leave allocation between from date and to date '''
-	filters= {
-		'from_date': ['between', (from_date, to_date)],
-		'to_date': ['between', (from_date, to_date)],
-		'docstatus': 1,
-		'is_expired': 0,
-		'leave_type': leave_type,
-		'employee': employee,
-		'transaction_type': 'Leave Allocation'
-	}
-
-	leave_allocation_records = frappe.db.get_all('Leave Ledger Entry', filters=filters, fields=['SUM(leaves) as leaves'])
+	leave_allocation_records = frappe.db.get_all('Leave Ledger Entry', filters={
+			'docstatus': 1,
+			'is_expired': 0,
+			'leave_type': leave_type,
+			'employee': employee,
+			'transaction_type': 'Leave Allocation'
+		}, or_filters={
+			'from_date': ['between', (from_date, to_date)],
+			'to_date': ['between', (from_date, to_date)]
+		}, fields=['SUM(leaves) as leaves'])
 
 	return flt(leave_allocation_records[0].get('leaves')) if leave_allocation_records else flt(0)
\ No newline at end of file
diff --git a/erpnext/patches/v12_0/generate_leave_ledger_entries.py b/erpnext/patches/v12_0/generate_leave_ledger_entries.py
index 44b59bf..5e91449 100644
--- a/erpnext/patches/v12_0/generate_leave_ledger_entries.py
+++ b/erpnext/patches/v12_0/generate_leave_ledger_entries.py
@@ -3,7 +3,7 @@
 
 from __future__ import unicode_literals
 import frappe
-from frappe.utils import getdate
+from frappe.utils import getdate, today
 
 def execute():
 	""" Generates leave ledger entries for leave allocation/application/encashment
@@ -66,7 +66,8 @@
 		if not frappe.db.exists("Leave Ledger Entry", {'transaction_type': 'Leave Allocation', 'transaction_name': allocation.name, 'is_expired': 1}):
 			allocation.update(dict(doctype="Leave Allocation"))
 			allocation_obj = frappe.get_doc(allocation)
-			expire_allocation(allocation_obj)
+			if allocation_obj.to_date <= getdate(today()):
+				expire_allocation(allocation_obj)
 
 def get_allocation_records():
 	return frappe.get_all("Leave Allocation", filters={