From bef90ee10ea7c127616d7994117d46f2345ee089 Mon Sep 17 00:00:00 2001 From: Zarrar Date: Wed, 29 Nov 2017 18:39:56 +0530 Subject: [PATCH] making nestedset a bit more flexible (#4552) --- frappe/utils/nestedset.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/frappe/utils/nestedset.py b/frappe/utils/nestedset.py index 34bba95101..1ac6cd0ecb 100644 --- a/frappe/utils/nestedset.py +++ b/frappe/utils/nestedset.py @@ -212,13 +212,16 @@ class NestedSet(Document): raise def before_rename(self, olddn, newdn, merge=False, group_fname="is_group"): - if merge: + if merge and self.get(group_fname): is_group = frappe.db.get_value(self.doctype, newdn, group_fname) if self.get(group_fname) != is_group: frappe.throw(_("Merging is only possible between Group-to-Group or Leaf Node-to-Leaf Node"), NestedSetInvalidMergeError) def after_rename(self, olddn, newdn, merge=False): - parent_field = "parent_" + self.doctype.replace(" ", "_").lower() + if(not self.nsm_parent_field): + parent_field = "parent_" + self.doctype.replace(" ", "_").lower() + else: + parent_field = self.nsm_parent_field # set old_parent for children frappe.db.sql("update `tab{0}` set old_parent=%s where {1}=%s"