fix(server): TreeView lookup in DB should perform the same preperation operations … #26184
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
…as method update_nsm in file nestedset.py
Symptoms:
DB error when using tree view for custom doctypes, which names contain hyphens, underscores or spaces.
Reason:
Method "update_nsm" in file frappe/utils/nestedset.py builds SQL DB fields according to certain logic, see
frappe/frappe/utils/nestedset.py
Line 44 in 71dfffa
For frappe.scrub see:
frappe/frappe/__init__.py
Lines 1515 to 1517 in 71dfffa
However, method "_get_children" in frappe/desk/treeview.py uses another methodology to lookup the data in the database, see
frappe/frappe/desk/treeview.py
Line 46 in 71dfffa
Example for different conversion:
Doctype name: "AAA-BBB-CCC"
method "update_nsm": "AAA-BBB-CCC" --> "parent_aaa_bbb_ccc"
method "_get_children": "AAA-BBB-CCC" --> "parent_aaa-bbb-ccc"
Resolution:
Updated method "_get_children" in frappe/desk/treeview.py to use same methodology of frappes "on-board resources".
Also created fix for ERPNext: See frappe/erpnext#41221