fix: searchfields as per customize form not working for Item
diff --git a/erpnext/controllers/queries.py b/erpnext/controllers/queries.py
index 4f8b5c7..8eae0a0 100644
--- a/erpnext/controllers/queries.py
+++ b/erpnext/controllers/queries.py
@@ -212,21 +212,15 @@
meta = frappe.get_meta(doctype, cached=True)
searchfields = meta.get_search_fields()
- # these are handled separately
- ignored_search_fields = ("item_name", "description")
- for ignored_field in ignored_search_fields:
- if ignored_field in searchfields:
- searchfields.remove(ignored_field)
-
columns = ""
- extra_searchfields = [
- field
- for field in searchfields
- if not field in ["name", "item_group", "description", "item_name"]
- ]
+ extra_searchfields = [field for field in searchfields if not field in ["name", "description"]]
if extra_searchfields:
- columns = ", " + ", ".join(extra_searchfields)
+ columns += ", " + ", ".join(extra_searchfields)
+
+ if "description" in searchfields:
+ columns += """, if(length(tabItem.description) > 40, \
+ concat(substr(tabItem.description, 1, 40), "..."), description) as description"""
searchfields = searchfields + [
field
@@ -266,12 +260,10 @@
if frappe.db.count(doctype, cache=True) < 50000:
# scan description only if items are less than 50000
description_cond = "or tabItem.description LIKE %(txt)s"
+
return frappe.db.sql(
"""select
- tabItem.name, tabItem.item_name, tabItem.item_group,
- if(length(tabItem.description) > 40, \
- concat(substr(tabItem.description, 1, 40), "..."), description) as description
- {columns}
+ tabItem.name {columns}
from tabItem
where tabItem.docstatus < 2
and tabItem.disabled=0