From 1ff7b841408e71fe07ae2760cdbb2a2f9a453aad Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Thu, 22 Feb 2024 16:46:15 +0530 Subject: [PATCH] fix: wrap read_only functions correctly (#25018) `functools.wraps` preserves signature useful for introspection. --- frappe/__init__.py | 1 + frappe/desk/notifications.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/frappe/__init__.py b/frappe/__init__.py index 3b8716846e..7e1a51cfd9 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -941,6 +941,7 @@ def is_whitelisted(method): def read_only(): def innfn(fn): + @functools.wraps(fn) def wrapper_fn(*args, **kwargs): # frappe.read_only could be called from nested functions, in such cases don't swap the # connection again. diff --git a/frappe/desk/notifications.py b/frappe/desk/notifications.py index ac17f90006..c205bdf05b 100644 --- a/frappe/desk/notifications.py +++ b/frappe/desk/notifications.py @@ -241,7 +241,7 @@ def get_filters_for(doctype): @frappe.whitelist() @frappe.read_only() -def get_open_count(doctype, name, items=None): +def get_open_count(doctype: str, name: str, items=None): """Get count for internal and external links for given transactions :param doctype: Reference DocType