diff --git a/erpnext/hr/report/salary_register/salary_register.js b/erpnext/hr/report/salary_register/salary_register.js index c99d002ec2..885e3d13c7 100644 --- a/erpnext/hr/report/salary_register/salary_register.js +++ b/erpnext/hr/report/salary_register/salary_register.js @@ -29,6 +29,13 @@ frappe.query_reports["Salary Register"] = { "fieldtype": "Link", "options": "Company", "default": frappe.defaults.get_user_default("Company") + }, + { + "fieldname":"docstatus", + "label":__("Document Status"), + "fieldtype":"Select", + "options":["Draft", "Submitted", "Cancelled"], + "default":"Submitted" } ] } diff --git a/erpnext/hr/report/salary_register/salary_register.py b/erpnext/hr/report/salary_register/salary_register.py index 2599b5007c..237c5e2678 100644 --- a/erpnext/hr/report/salary_register/salary_register.py +++ b/erpnext/hr/report/salary_register/salary_register.py @@ -74,13 +74,18 @@ def get_columns(salary_slips): def get_salary_slips(filters): filters.update({"from_date": filters.get("from_date"), "to_date":filters.get("to_date")}) conditions, filters = get_conditions(filters) - salary_slips = frappe.db.sql("""select * from `tabSalary Slip` where docstatus = 1 %s + salary_slips = frappe.db.sql("""select * from `tabSalary Slip` where %s order by employee""" % conditions, filters, as_dict=1) return salary_slips or [] def get_conditions(filters): conditions = "" + doc_status = {"Draft": 0, "Submitted": 1, "Cancelled": 2} + + if filters.get("docstatus"): + conditions += "docstatus = {0}".format(doc_status[filters.get("docstatus")]) + if filters.get("from_date"): conditions += " and start_date >= %(from_date)s" if filters.get("to_date"): conditions += " and end_date <= %(to_date)s" if filters.get("company"): conditions += " and company = %(company)s"