From d3c534e0cf573ec3815623974cf9783cbae74ec4 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 7 Nov 2023 20:04:20 +0530 Subject: [PATCH] fix: attempt to not pass an empty string to `json.loads` (#23139) (#23141) * fix: attempt to not pass an empty string to `json.loads` * fix: ignore all falsy fields --------- Co-authored-by: Ankush Menat (cherry picked from commit 6a8cf0689ae8e70f99ffd6957603d6583b4bdf92) Co-authored-by: Arjun --- frappe/desk/reportview.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/frappe/desk/reportview.py b/frappe/desk/reportview.py index fd299af819..8f2f7f8dca 100644 --- a/frappe/desk/reportview.py +++ b/frappe/desk/reportview.py @@ -215,12 +215,12 @@ def clean_params(data): def parse_json(data): - if isinstance(data.get("filters"), str): - data["filters"] = json.loads(data["filters"]) - if isinstance(data.get("or_filters"), str): - data["or_filters"] = json.loads(data["or_filters"]) - if isinstance(data.get("fields"), str): - data["fields"] = ["*"] if data["fields"] == "*" else json.loads(data["fields"]) + if (filters := data.get("filters")) and isinstance(filters, str): + data["filters"] = json.loads(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): + data["fields"] = ["*"] if fields == "*" else json.loads(fields) if isinstance(data.get("docstatus"), str): data["docstatus"] = json.loads(data["docstatus"]) if isinstance(data.get("save_user_settings"), str):