From 785c34e0ad2a98276984bd723ba8c424a0956dac Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Wed, 24 Jun 2026 20:37:35 +0530 Subject: [PATCH] refactor: parse native JSON request args in utilities/query.py Use frappe.parse_json instead of json.loads so the whitelisted endpoints accept native JSON types (list/dict/bool) in addition to JSON strings. --- erpnext/utilities/query.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/erpnext/utilities/query.py b/erpnext/utilities/query.py index ef0ef3e716d..21759b36b97 100644 --- a/erpnext/utilities/query.py +++ b/erpnext/utilities/query.py @@ -62,8 +62,7 @@ def get_filter_conditions_qb(doctype, filters, ignore_permissions=None): if isinstance(filters, Criterion): return [filters] - if isinstance(filters, str): - filters = json.loads(filters) + filters = frappe.parse_json(filters) if isinstance(filters, dict): # Mirror get_filters_cond's dict normalization: a string value prefixed with "!" means