From b9e8b2808abf3edcc553ec0a165494ca6617cf11 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 2 Jan 2026 18:32:52 +0530 Subject: [PATCH] fix: JSON decode error (#51301) --- .../opportunity_summary_by_sales_stage.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/erpnext/crm/report/opportunity_summary_by_sales_stage/opportunity_summary_by_sales_stage.py b/erpnext/crm/report/opportunity_summary_by_sales_stage/opportunity_summary_by_sales_stage.py index d2fc4ca849b..4f041d8da4b 100644 --- a/erpnext/crm/report/opportunity_summary_by_sales_stage/opportunity_summary_by_sales_stage.py +++ b/erpnext/crm/report/opportunity_summary_by_sales_stage/opportunity_summary_by_sales_stage.py @@ -153,15 +153,14 @@ class OpportunitySummaryBySalesStage: }[self.filters.get("based_on")] if self.filters.get("based_on") == "Opportunity Owner": - if ( - d.get(based_on) == "[]" - or d.get(based_on) is None - or d.get(based_on) == "Not Assigned" - or d.get(based_on) == "" - ): + value = d.get(based_on) + if not value or value in ["[]", "null", "Not Assigned"]: assignments = ["Not Assigned"] else: - assignments = json.loads(d.get(based_on)) + try: + assignments = json.loads(value) + except json.JSONDecodeError: + assignments = ["Not Assigned"] sales_stage = d.get("sales_stage") count = d.get(data_based_on)