From 41a95e56241ff8f3dceac7285f0bc6b9a43d7a06 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Thu, 3 Feb 2022 13:02:13 +0530 Subject: [PATCH] fix: ignore empty customer/supplier in item query (#29610) * fix: dont try to filter by customer/supplier if None * test: item query with emtpy supplier --- erpnext/controllers/queries.py | 3 +++ erpnext/controllers/tests/test_queries.py | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/erpnext/controllers/queries.py b/erpnext/controllers/queries.py index dc04dab84c3..902e1153b4a 100644 --- a/erpnext/controllers/queries.py +++ b/erpnext/controllers/queries.py @@ -249,6 +249,9 @@ def item_query(doctype, txt, searchfield, start, page_len, filters, as_dict=Fals del filters['customer'] else: del filters['supplier'] + else: + filters.pop('customer', None) + filters.pop('supplier', None) description_cond = '' diff --git a/erpnext/controllers/tests/test_queries.py b/erpnext/controllers/tests/test_queries.py index 908d78c15bf..60d1733021c 100644 --- a/erpnext/controllers/tests/test_queries.py +++ b/erpnext/controllers/tests/test_queries.py @@ -56,6 +56,12 @@ class TestQueries(unittest.TestCase): bundled_stock_items = query(txt="_test product bundle item 5", filters={"is_stock_item": 1}) self.assertEqual(len(bundled_stock_items), 0) + # empty customer/supplier should be stripped of instead of failure + query(txt="", filters={"customer": None}) + query(txt="", filters={"customer": ""}) + query(txt="", filters={"supplier": None}) + query(txt="", filters={"supplier": ""}) + def test_bom_qury(self): query = add_default_params(queries.bom, "BOM")