From 182c9fd966fc40ec2128cdc58df7f369b8999876 Mon Sep 17 00:00:00 2001 From: Diptanil Saha Date: Wed, 15 Oct 2025 18:57:07 +0530 Subject: [PATCH] fix: added exception handling on service level agreement apply hook (#50096) * fix: added exception handling on service level agreement apply hook * Revert "fix: added exception handling on service level agreement apply hook" This reverts commit dae93aa96f4756cbca4bee8b19e8cd4390617e9b. * fix: Ignore missing SLA table during install/uninstall --------- Co-authored-by: Ankush Menat --- .../service_level_agreement.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/erpnext/support/doctype/service_level_agreement/service_level_agreement.py b/erpnext/support/doctype/service_level_agreement/service_level_agreement.py index 852ef9cb807..b39f1ce34a9 100644 --- a/erpnext/support/doctype/service_level_agreement/service_level_agreement.py +++ b/erpnext/support/doctype/service_level_agreement/service_level_agreement.py @@ -484,10 +484,16 @@ def get_documents_with_active_service_level_agreement(): def set_documents_with_active_service_level_agreement(): - active = frozenset( - sla.document_type for sla in frappe.get_all("Service Level Agreement", fields=["document_type"]) - ) - frappe.cache.set_value("doctypes_with_active_sla", active) + try: + active = frozenset( + sla.document_type for sla in frappe.get_all("Service Level Agreement", fields=["document_type"]) + ) + frappe.cache.set_value("doctypes_with_active_sla", active) + except (frappe.DoesNotExistError, frappe.db.TableMissingError): + # This happens during install / uninstall when wildcard hook for SLA intercepts some doc action. + # In both cases, the error can be safely ignored. + active = frozenset() + return active