From ce7ac29d060833faefee24c7e1eaebacda983a20 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Fri, 20 Oct 2023 15:50:40 +0530 Subject: [PATCH] fix: Correctly extract last message (#37602) frappe.message_log now contains plain dictionary and not JSON strings, so no need to load them. --- .../pos_invoice_merge_log/pos_invoice_merge_log.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py b/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py index d42b1e4cd1..c161dac33f 100644 --- a/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py +++ b/erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py @@ -454,7 +454,7 @@ def create_merge_logs(invoice_by_customer, closing_entry=None): except Exception as e: frappe.db.rollback() message_log = frappe.message_log.pop() if frappe.message_log else str(e) - error_message = safe_load_json(message_log) + error_message = get_error_message(message_log) if closing_entry: closing_entry.set_status(update=True, status="Failed") @@ -483,7 +483,7 @@ def cancel_merge_logs(merge_logs, closing_entry=None): except Exception as e: frappe.db.rollback() message_log = frappe.message_log.pop() if frappe.message_log else str(e) - error_message = safe_load_json(message_log) + error_message = get_error_message(message_log) if closing_entry: closing_entry.set_status(update=True, status="Submitted") @@ -525,10 +525,8 @@ def check_scheduler_status(): frappe.throw(_("Scheduler is inactive. Cannot enqueue job."), title=_("Scheduler Inactive")) -def safe_load_json(message): +def get_error_message(message) -> str: try: - json_message = json.loads(message).get("message") + return message["message"] except Exception: - json_message = message - - return json_message + return str(message)