fix: nestedset rename (#20498)
This commit is contained in:
parent
6096e45b36
commit
45c86e2ff8
2 changed files with 15 additions and 5 deletions
|
|
@ -488,6 +488,9 @@ def update_options_for_fieldtype(fieldtype: str, old: str, new: str) -> None:
|
|||
|
||||
if frappe.conf.developer_mode:
|
||||
for name in frappe.get_all("DocField", filters={"options": old}, pluck="parent"):
|
||||
if name in (old, new):
|
||||
continue
|
||||
|
||||
doctype = frappe.get_doc("DocType", name)
|
||||
save = False
|
||||
for f in doctype.fields:
|
||||
|
|
@ -496,11 +499,11 @@ def update_options_for_fieldtype(fieldtype: str, old: str, new: str) -> None:
|
|||
save = True
|
||||
if save:
|
||||
doctype.save()
|
||||
else:
|
||||
DocField = frappe.qb.DocType("DocField")
|
||||
frappe.qb.update(DocField).set(DocField.options, new).where(
|
||||
(DocField.fieldtype == fieldtype) & (DocField.options == old)
|
||||
).run()
|
||||
|
||||
DocField = frappe.qb.DocType("DocField")
|
||||
frappe.qb.update(DocField).set(DocField.options, new).where(
|
||||
(DocField.fieldtype == fieldtype) & (DocField.options == old)
|
||||
).run()
|
||||
|
||||
frappe.qb.update(CustomField).set(CustomField.options, new).where(
|
||||
(CustomField.fieldtype == fieldtype) & (CustomField.options == old)
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ from frappe.core.doctype.doctype.test_doctype import new_doctype
|
|||
from frappe.query_builder import Field
|
||||
from frappe.query_builder.functions import Max
|
||||
from frappe.tests.utils import FrappeTestCase
|
||||
from frappe.utils import random_string
|
||||
from frappe.utils.nestedset import (
|
||||
NestedSetChildExistsError,
|
||||
NestedSetInvalidMergeError,
|
||||
|
|
@ -213,6 +214,12 @@ class TestNestedSet(FrappeTestCase):
|
|||
remove_subtree("Test Tree DocType", "Parent 2")
|
||||
self.test_basic_tree()
|
||||
|
||||
def test_rename_nestedset(self):
|
||||
doctype = new_doctype(is_tree=True).insert()
|
||||
|
||||
# Rename doctype
|
||||
frappe.rename_doc("DocType", doctype.name, "Test " + random_string(10), force=True)
|
||||
|
||||
def test_merge_groups(self):
|
||||
global records
|
||||
el = {"some_fieldname": "Parent 2", "parent_test_tree_doctype": "Root Node", "is_group": 1}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue