From 922aef665b25ef4c5642de46fbd817d14402e23e Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Tue, 28 Nov 2023 14:54:05 +0530 Subject: [PATCH] fix: Server Error while creating Product Bundle (backport #38377) (#38380) * fix: product bundle search input (cherry picked from commit 729fc738af7d78a6f75cb0f794f4c4451d74cd05) * fix: don't select all fields (cherry picked from commit 8c3713b649c7777e35be74b7afe437cec682359e) --------- Co-authored-by: s-aga-r --- .../doctype/product_bundle/product_bundle.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/erpnext/selling/doctype/product_bundle/product_bundle.py b/erpnext/selling/doctype/product_bundle/product_bundle.py index 2fd9cc130125..3d4ffebbfb43 100644 --- a/erpnext/selling/doctype/product_bundle/product_bundle.py +++ b/erpnext/selling/doctype/product_bundle/product_bundle.py @@ -76,16 +76,19 @@ def validate_child_items(self): @frappe.validate_and_sanitize_search_inputs def get_new_item_code(doctype, txt, searchfield, start, page_len, filters): product_bundles = frappe.db.get_list("Product Bundle", {"disabled": 0}, pluck="name") + item = frappe.qb.DocType("Item") - return ( + query = ( frappe.qb.from_(item) - .select("*") + .select(item.item_code, item.item_name) .where( - (item.is_stock_item == 0) - & (item.is_fixed_asset == 0) - & (item.name.notin(product_bundles)) - & (item[searchfield].like(f"%{txt}%")) + (item.is_stock_item == 0) & (item.is_fixed_asset == 0) & (item[searchfield].like(f"%{txt}%")) ) .limit(page_len) .offset(start) - ).run() + ) + + if product_bundles: + query = query.where(item.name.notin(product_bundles)) + + return query.run()