From dd690c79d168fe4c9b3f8cff9ca50a6e35bb2a67 Mon Sep 17 00:00:00 2001 From: Raffael Meyer <14891507+barredterra@users.noreply.github.com> Date: Thu, 4 Jan 2024 11:37:39 +0100 Subject: [PATCH] fix: use correct parent field in rebuild_tree() (#24107) * fix: use correct parent field in rebuild tree * refactor!: ignore parent_field parameter to rebuild_tree --- frappe/public/js/frappe/views/treeview.js | 1 - frappe/utils/nestedset.py | 9 ++++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/frappe/public/js/frappe/views/treeview.js b/frappe/public/js/frappe/views/treeview.js index 0096a333bd..c255bca9dc 100644 --- a/frappe/public/js/frappe/views/treeview.js +++ b/frappe/public/js/frappe/views/treeview.js @@ -235,7 +235,6 @@ frappe.views.TreeView = class TreeView { method: "frappe.utils.nestedset.rebuild_tree", args: { doctype: me.doctype, - parent_field: "parent_" + me.doctype.toLowerCase().replace(/ /g, "_"), }, callback: function (r) { if (!r.exc) { diff --git a/frappe/utils/nestedset.py b/frappe/utils/nestedset.py index 2beaa63447..59f68d7afc 100644 --- a/frappe/utils/nestedset.py +++ b/frappe/utils/nestedset.py @@ -168,9 +168,10 @@ def update_move_node(doc: Document, parent_field: str): @frappe.whitelist() -def rebuild_tree(doctype, parent_field): - """ - call rebuild_node for all root nodes +def rebuild_tree(doctype, parent_field=None): + """Call rebuild_node for all root nodes. + + The `parent_field` parameter is ignored and will be removed in v16+ (kept for backward compatibility). """ # Check for perm if called from client-side @@ -184,6 +185,8 @@ def rebuild_tree(doctype, parent_field): title=_("Invalid Action"), ) + parent_field = meta.nsm_parent_field or f"parent_{frappe.scrub(doctype)}" + # get all roots right = 1 table = DocType(doctype)