Browse Source

making nestedset a bit more flexible (#4552)

version-14
Zarrar 7 years ago
committed by Nabin Hait
parent
commit
bef90ee10e
1 changed files with 5 additions and 2 deletions
  1. +5
    -2
      frappe/utils/nestedset.py

+ 5
- 2
frappe/utils/nestedset.py View File

@@ -212,13 +212,16 @@ class NestedSet(Document):
raise raise


def before_rename(self, olddn, newdn, merge=False, group_fname="is_group"): 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) is_group = frappe.db.get_value(self.doctype, newdn, group_fname)
if self.get(group_fname) != is_group: if self.get(group_fname) != is_group:
frappe.throw(_("Merging is only possible between Group-to-Group or Leaf Node-to-Leaf Node"), NestedSetInvalidMergeError) 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): 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 # set old_parent for children
frappe.db.sql("update `tab{0}` set old_parent=%s where {1}=%s" frappe.db.sql("update `tab{0}` set old_parent=%s where {1}=%s"


Loading…
Cancel
Save