feat: add employee filter to employee leave balance

This commit is contained in:
Mangesh-Khairnar 2019-06-05 21:22:07 +05:30
parent 62011c9dc4
commit 351f4d53a0
6 changed files with 30 additions and 6 deletions

View File

@ -29,7 +29,7 @@ frappe.ui.form.on("Leave Allocation", {
});
// 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,
};

View File

@ -86,6 +86,16 @@ frappe.ui.form.on("Leave Application", {
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) {

View File

@ -50,7 +50,7 @@ _test_records = [
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):

View File

@ -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",

View File

@ -30,6 +30,12 @@ frappe.query_reports["Employee Leave Balance"] = {
"label": __("Department"),
"fieldtype": "Link",
"options": "Department",
},
{
"fieldname":"employee",
"label": __("Employee"),
"fieldtype": "Link",
"options": "Employee",
}
]
}

View File

@ -37,9 +37,10 @@ def get_conditions(filters):
"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):