diff --git a/frappe/model/document.py b/frappe/model/document.py index 36a5bd140c..936d9b049c 100644 --- a/frappe/model/document.py +++ b/frappe/model/document.py @@ -950,15 +950,19 @@ class Document(BaseDocument): from frappe.email.doctype.notification.notification import evaluate_alert if self.flags.notifications is None: - alerts = frappe.cache().hget("notifications", self.doctype) - if alerts is None: - alerts = frappe.get_all( + + def _get_notifications(): + """returns enabled notifications for the current doctype""" + + return frappe.get_all( "Notification", fields=["name", "event", "method"], filters={"enabled": 1, "document_type": self.doctype}, ) - frappe.cache().hset("notifications", self.doctype, alerts) - self.flags.notifications = alerts + + self.flags.notifications = frappe.cache().hget( + "notifications", self.doctype, _get_notifications + ) if not self.flags.notifications: return diff --git a/frappe/utils/redis_wrapper.py b/frappe/utils/redis_wrapper.py index 915f792180..e470c83d75 100644 --- a/frappe/utils/redis_wrapper.py +++ b/frappe/utils/redis_wrapper.py @@ -218,7 +218,7 @@ class RedisWrapper(redis.Redis): except redis.exceptions.ConnectionError: pass - if value: + if value is not None: value = pickle.loads(value) frappe.local.cache[_name][key] = value elif generator: