Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Treeview DB lookup should perform the same preperation operation… (backport #26199) #26259

Merged
merged 1 commit into from
Apr 30, 2024

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Apr 30, 2024

…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

parent_field = "parent_" + frappe.scrub(doc.doctype)

For frappe.scrub see:

frappe/frappe/__init__.py

Lines 1515 to 1517 in 71dfffa

def scrub(txt: str) -> str:
"""Return sluggified string. e.g. `Sales Order` becomes `sales_order`."""
return cstr(txt).replace(" ", "_").replace("-", "_").lower()

However, method "_get_children" in frappe/desk/treeview.py uses another methodology to lookup the data in the database, see

parent_field = "parent_" + doctype.lower().replace(" ", "_")

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#41234


This is an automatic backport of pull request #26199 done by [Mergify](https://mergify.com).

…s as method update_nsm in file nestedset.py (#26199)

(cherry picked from commit 7d25aed)
@mergify mergify bot requested review from a team and ankush and removed request for a team April 30, 2024 13:01
@ankush ankush merged commit 01e08f8 into version-14-hotfix Apr 30, 2024
11 checks passed
@ankush ankush deleted the mergify/bp/version-14-hotfix/pr-26199 branch April 30, 2024 14:01
frappe-pr-bot pushed a commit that referenced this pull request May 7, 2024
# [14.74.0](v14.73.0...v14.74.0) (2024-05-07)

### Bug Fixes

* Apply configured perms on address list ([#26334](#26334)) ([#26335](#26335)) ([4307ab4](4307ab4))
* args is a stringified JSON ([98ece0e](98ece0e))
* changes for scheduler reliability (backport [#26292](#26292)) ([#26293](#26293)) ([7691afe](7691afe))
* **Data Import:** don't rely on permission for Data Import Log (backport [#26228](#26228)) ([#26250](#26250)) ([fd0a844](fd0a844))
* **Data Import:** scheduler not needed in dev mode (backport [#24667](#24667)) ([#26264](#26264)) ([9712f14](9712f14))
* disabled user login from login via link feature ([#26134](#26134)) ([#26140](#26140)) ([96b7542](96b7542))
* don't add creation index if one exists ([#26295](#26295)) ([#26297](#26297)) ([c74dcbd](c74dcbd))
* **Geo:** change Canadian dates to ISO 8601 format ([351cd04](351cd04))
* init db conn for unbuffered cursor if not set ([#26220](#26220)) ([#26256](#26256)) ([04afefb](04afefb))
* lstrip for query writes detection ([#26180](#26180)) ([#26252](#26252)) ([6ebfe54](6ebfe54))
* multistep webform page navigation ([d5a25f2](d5a25f2))
* **Navbar Settings:** reload page after save ([#26274](#26274)) ([#26275](#26275)) ([73f265b](73f265b))
* **oauth2:** refresh token is optional ([#26266](#26266)) ([#26271](#26271)) ([d6603c6](d6603c6)), closes [/www.rfc-editor.org/rfc/rfc6749#section-5](https://github.com//www.rfc-editor.org/rfc/rfc6749/issues/section-5)
* only redirect to same domain (backport [#26304](#26304)) ([#26305](#26305)) ([c2f2d6c](c2f2d6c))
* perm query for dashboard (backport [#26239](#26239)) ([#26242](#26242)) ([4ab6a46](4ab6a46))
* reportview average of ints should be float (backport [#26284](#26284)) ([#26287](#26287)) ([c0f3912](c0f3912))
* Treeview DB lookup should perform the same preperation operations as method update_nsm in file nestedset.py ([#26199](#26199)) ([#26259](#26259)) ([01e08f8](01e08f8))

### Features

* `Desk User` role (backport [#22224](#22224)) ([#26237](#26237)) ([171e1d0](171e1d0))
* System Health Report (backport [#26046](#26046)) ([#26255](#26255)) ([f2d2d0c](f2d2d0c))

### Performance Improvements

* Reduce 1 redis call while dumping monitor logs (backport [#26337](#26337)) ([#26338](#26338)) ([75b2a86](75b2a86))
@frappe-pr-bot
Copy link
Collaborator

🎉 This PR is included in version 14.74.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 22, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants