Merge pull request #38005 from earona/fix-get_all_nodes
fix: get_all_node respect override_whitelisted_methods hooks
This commit is contained in:
commit
a3af66a6e1
1 changed files with 8 additions and 4 deletions
|
|
@ -13,11 +13,15 @@ def get_all_nodes(doctype: str, label: str, parent: str, tree_method: str | None
|
|||
filters.pop("cmd", None)
|
||||
filters.pop("data", None)
|
||||
|
||||
tree_method = frappe.get_attr(tree_method)
|
||||
try:
|
||||
tree_method = frappe.override_whitelisted_method(tree_method)
|
||||
callable_tree_method = frappe.get_attr(tree_method)
|
||||
except Exception as e:
|
||||
frappe.throw(_("Failed to get method for command {0} with {1}").format(tree_method, str(e)))
|
||||
|
||||
frappe.is_whitelisted(tree_method)
|
||||
frappe.is_whitelisted(callable_tree_method)
|
||||
|
||||
data = tree_method(doctype, parent, **filters)
|
||||
data = callable_tree_method(doctype, parent, **filters)
|
||||
out = [dict(parent=label, data=data)]
|
||||
|
||||
filters.pop("is_root", None)
|
||||
|
|
@ -25,7 +29,7 @@ def get_all_nodes(doctype: str, label: str, parent: str, tree_method: str | None
|
|||
|
||||
while to_check:
|
||||
parent = to_check.pop()
|
||||
data = tree_method(doctype, parent, is_root=False, **filters)
|
||||
data = callable_tree_method(doctype, parent, is_root=False, **filters)
|
||||
out.append(dict(parent=parent, data=data))
|
||||
for d in data:
|
||||
if d.get("expandable"):
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue