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):