i have created a script report and it is generated successfully but the filters do not appear on the report see image below
I have tried running bench build, bench migrate and bench clear-cache but nothing seems to generate the filters on the report.
here is the report js file
// Copyright (c) 2016, shahid and contributors
// For license information, please see license.txt
/* eslint-disable */
frappe.query_reports["Sales Report Rasusa - Full V1"] = {
"filters": [
{
"fieldname":"supplier",
"label": __("Supplier"),
"fieldtype": "MultiSelectList",
"options": "Supplier",
get_data: function(txt) {
return frappe.db.get_link_options("Supplier", txt);
},
},
{
"fieldname":"limit",
"label": __("Limit"),
"fieldtype": "Select",
"options": ["20", "500", "1000", "5000", "10000", "All"],
"default": 20
},
{
"fieldname":"source_name",
"label": __("Source"),
"fieldtype": "MultiSelectList",
"options": "Lead Source",
get_data: function(txt) {
return frappe.db.get_link_options("Lead Source", txt);
},
},
]
};
And here is the minimized version of the report python file
def execute(filters=None):
if not filters:
filters = {}
conditions = get_conditions(filters)
columns = get_column(filters,conditions)
data = []
details = get_details(conditions,filters)
return columns, data
def get_details(conditions="", filters={}):
data = frappe.db.sql("""select i.ifw_retailskusuffix, i.item_code, i.item_name, i.image,
s.supplier, s.supplier_part_no, i.disabled, country_of_origin,customs_tariff_number,
ifw_duty_rate,ifw_discontinued,ifw_product_name_ci,ifw_item_notes,ifw_item_notes2,
ifw_po_notes
from `tabItem Supplier` s inner join `tabItem` i on i.name = s.parent
where 1 = 1 %s
"""%(conditions), filters, as_dict=1)
return data
def get_conditions(filters):
conditions = ""
suppliers = []
limit = filters.get("limit")
if filters.get('supplier'):
suppliers = frappe.parse_json(filters.get("supplier"))
suppliers.append("asa")
suppliers.append("asaa")
# format_strings = ','.join(['%s'] * len(suppliers))
conditions += " and s.supplier IN %(supplier)s"
if limit != "All":
conditions += " limit {}".format(str(limit))
return conditions
Any help in resolving this will be greatly appreciated