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 <sagarsharma.s312@gmail.com>
This commit is contained in:
mergify[bot] 2023-11-28 14:54:05 +05:30 committed by GitHub
parent a6f3a103db
commit 922aef665b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -76,16 +76,19 @@ class ProductBundle(Document):
@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()