feat: add employee filter to employee leave balance
diff --git a/erpnext/hr/doctype/leave_allocation/leave_allocation.js b/erpnext/hr/doctype/leave_allocation/leave_allocation.js
index 50dbaad..005f45a 100755
--- a/erpnext/hr/doctype/leave_allocation/leave_allocation.js
+++ b/erpnext/hr/doctype/leave_allocation/leave_allocation.js
@@ -29,7 +29,7 @@
 			});
 
 			// opens leave balance report for employee
-			frm.add_custom_button(__('Check Leave Balance'), function() {
+			frm.add_custom_button(__('Leave Balance'), function() {
 				frappe.route_options = {
 					employee: frm.doc.employee,
 				};
diff --git a/erpnext/hr/doctype/leave_application/leave_application.js b/erpnext/hr/doctype/leave_application/leave_application.js
index 11146ab..cb1042c 100755
--- a/erpnext/hr/doctype/leave_application/leave_application.js
+++ b/erpnext/hr/doctype/leave_application/leave_application.js
@@ -86,6 +86,16 @@
 				frm.set_value('employee', perm['Employee'].map(perm_doc => perm_doc.doc)[0]);
 			}
 		}
+
+		if (frm.doc.docstatus === 1) {
+			frm.add_custom_button(__('Leave Balance'), function() {
+				frappe.route_options = {
+					employee: frm.doc.employee,
+					group_by: ""
+				};
+				frappe.set_route("query-report", "Employee Leave Balance");
+			});
+		}
 	},
 
 	employee: function(frm) {
diff --git a/erpnext/hr/doctype/leave_application/test_leave_application.py b/erpnext/hr/doctype/leave_application/test_leave_application.py
index 899ce2a..54216ee 100644
--- a/erpnext/hr/doctype/leave_application/test_leave_application.py
+++ b/erpnext/hr/doctype/leave_application/test_leave_application.py
@@ -50,7 +50,7 @@
 class TestLeaveApplication(unittest.TestCase):
 	def setUp(self):
 		for dt in ["Leave Application", "Leave Allocation", "Salary Slip", "Leave Ledger Entry"]:
-			frappe.db.sql("DELETE FROM `tab%s`" % dt)
+			frappe.db.sql("DELETE FROM `tab%s`" % dt) #nosec
 
 	@classmethod
 	def setUpClass(cls):
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 20b64f8..4234fc4 100644
--- a/erpnext/hr/doctype/leave_ledger_entry/leave_ledger_entry.json
+++ b/erpnext/hr/doctype/leave_ledger_entry/leave_ledger_entry.json
@@ -14,6 +14,7 @@
   "to_date",
   "is_carry_forward",
   "is_expired",
+  "is_lwp",
   "amended_from"
  ],
  "fields": [
@@ -90,11 +91,17 @@
   {
    "fieldname": "column_break_7",
    "fieldtype": "Column Break"
+  },
+  {
+   "default": "0",
+   "fieldname": "is_lwp",
+   "fieldtype": "Check",
+   "label": "Is Leave Without Pay"
   }
  ],
  "in_create": 1,
  "is_submittable": 1,
- "modified": "2019-05-30 14:45:16.577534",
+ "modified": "2019-06-05 12:56:04.980160",
  "modified_by": "Administrator",
  "module": "HR",
  "name": "Leave Ledger Entry",
diff --git a/erpnext/hr/report/employee_leave_balance/employee_leave_balance.js b/erpnext/hr/report/employee_leave_balance/employee_leave_balance.js
index 68302f6..05728a2 100644
--- a/erpnext/hr/report/employee_leave_balance/employee_leave_balance.js
+++ b/erpnext/hr/report/employee_leave_balance/employee_leave_balance.js
@@ -30,6 +30,12 @@
 			"label": __("Department"),
 			"fieldtype": "Link",
 			"options": "Department",
+		},
+		{
+			"fieldname":"employee",
+			"label": __("Employee"),
+			"fieldtype": "Link",
+			"options": "Employee",
 		}
 	]
 }
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 e65220a..48e9bf5 100644
--- a/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py
+++ b/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py
@@ -37,9 +37,10 @@
 		"company": filters.company,
 	}
 	if filters.get("department"):
-		conditions.update({
-			"department": filters.get("department")
-		})
+		conditions.update({"department": filters.get("department")})
+	if filters.get("employee"):
+		conditions.update({"employee": filters.get("employee")})
+
 	return conditions
 
 def get_data(filters, leave_types):