Add filters to show Draft salary slips in salary register (#14780)

* [fix] #14778

* replace if-elif block with inline block
This commit is contained in:
Pawan Mehta 2018-07-03 10:01:19 +05:30 committed by Nabin Hait
parent 1baa811a40
commit e734b7c17b
2 changed files with 13 additions and 1 deletions

View File

@ -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"
}
]
}

View File

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