From 460b8c5d8d981fa23f9ab3961c0e8f976659421f Mon Sep 17 00:00:00 2001 From: Mihir Kandoi Date: Wed, 24 Jun 2026 20:37:34 +0530 Subject: [PATCH] refactor: parse native JSON request args in setup/doctype/terms_and_conditions/terms_and_conditions.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. --- .../setup/doctype/terms_and_conditions/terms_and_conditions.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.py b/erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.py index 32623605f51..f9fd9050d34 100644 --- a/erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.py +++ b/erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.py @@ -37,8 +37,7 @@ class TermsandConditions(Document): @frappe.whitelist() def get_terms_and_conditions(template_name: str, doc: str | dict): - if isinstance(doc, str): - doc = json.loads(doc) + doc = frappe.parse_json(doc) terms_and_conditions = frappe.get_doc("Terms and Conditions", template_name)