fix: parse applied filter json before building data

This commit is contained in:
Gursheen Anand 2023-11-30 15:07:30 +05:30
parent fdfe94a8ba
commit 8a4d85a5ad
2 changed files with 5 additions and 2 deletions

View file

@ -328,7 +328,8 @@ def export_query():
report_name, form_params.filters, custom_columns=custom_columns, are_default_filters=False
)
data = frappe._dict(data)
data.filters = form_params.filters
data.filters = form_params.applied_filters
if not data.columns:
frappe.respond_as_web_page(
_("No data to export"),
@ -396,7 +397,7 @@ def build_xlsx_data(
if filter_value in ["", None, []]:
continue
filter_value = ", ".join(filter_value) if isinstance(filter_value, list) else cstr(filter_value)
filter_data.append([cstr(filter_name) + ": ", filter_value])
filter_data.append([cstr(filter_name), filter_value])
filter_data.append([])
result += filter_data

View file

@ -217,6 +217,8 @@ def clean_params(data):
def parse_json(data):
if (filters := data.get("filters")) and isinstance(filters, str):
data["filters"] = json.loads(filters)
if (applied_filters := data.get("applied_filters")) and isinstance(applied_filters, str):
data["applied_filters"] = json.loads(applied_filters)
if (or_filters := data.get("or_filters")) and isinstance(or_filters, str):
data["or_filters"] = json.loads(or_filters)
if (fields := data.get("fields")) and isinstance(fields, str):