From 6ea3d569725f3a0f389a6cbaad6a34d840ad8cd8 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Thu, 19 Mar 2026 07:39:30 +0000 Subject: [PATCH] fix(stock): fix email error message (backport #53606) (#53632) Co-authored-by: Sudharsanan Ashok <135326972+Sudharsanan11@users.noreply.github.com> fix(stock): fix email error message (#53606) --- erpnext/stock/reorder_item.py | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/erpnext/stock/reorder_item.py b/erpnext/stock/reorder_item.py index 570dc3a3405..1f527e7071a 100644 --- a/erpnext/stock/reorder_item.py +++ b/erpnext/stock/reorder_item.py @@ -7,7 +7,7 @@ from math import ceil import frappe from frappe import _ -from frappe.utils import add_days, cint, flt, nowdate +from frappe.utils import add_days, cint, escape_html, flt, nowdate import erpnext @@ -219,15 +219,6 @@ def create_material_request(material_requests): mr_list = [] exceptions_list = [] - def _log_exception(mr): - if frappe.local.message_log: - exceptions_list.extend(frappe.local.message_log) - frappe.local.message_log = [] - else: - exceptions_list.append(frappe.get_traceback(with_context=True)) - - mr.log_error("Unable to create material request") - company_wise_mr = frappe._dict({}) for request_type in material_requests: for company in material_requests[request_type]: @@ -297,8 +288,9 @@ def create_material_request(material_requests): company_wise_mr.setdefault(company, []).append(mr) - except Exception: - _log_exception(mr) + except Exception as exception: + exceptions_list.append(exception) + mr.log_error("Unable to create material request") if company_wise_mr: if getattr(frappe.local, "reorder_email_notify", None) is None: @@ -383,10 +375,7 @@ def notify_errors(exceptions_list): for exception in exceptions_list: try: - exception = json.loads(exception) - error_message = """
{}

""".format( - _(exception.get("message")) - ) + error_message = f"
{escape_html(str(exception))}

" content += error_message except Exception: pass