From 942dedddb4bcf5c0b63f2a65737f612eec9307c9 Mon Sep 17 00:00:00 2001 From: marination Date: Fri, 3 Sep 2021 17:50:14 +0530 Subject: [PATCH] fix: Paging and Discount filter - Convert incoming api args to frappe dict - Change discount filter condition due to reversal of behaviour --- erpnext/e_commerce/api.py | 1 + erpnext/e_commerce/product_data_engine/query.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/erpnext/e_commerce/api.py b/erpnext/e_commerce/api.py index 01bde2984c..c58081ef04 100644 --- a/erpnext/e_commerce/api.py +++ b/erpnext/e_commerce/api.py @@ -27,6 +27,7 @@ def get_product_filter_data(query_args=None): if isinstance(query_args, str): query_args = json.loads(query_args) + query_args = frappe._dict(query_args) if query_args: search = query_args.get("search") field_filters = query_args.get("field_filters", {}) diff --git a/erpnext/e_commerce/product_data_engine/query.py b/erpnext/e_commerce/product_data_engine/query.py index fefb5b33bf..f7a48c08a3 100644 --- a/erpnext/e_commerce/product_data_engine/query.py +++ b/erpnext/e_commerce/product_data_engine/query.py @@ -289,7 +289,7 @@ class ProductQuery: def filter_results_by_discount(self, fields, result): if fields and fields.get("discount"): discount_percent = frappe.utils.flt(fields["discount"][0]) - result = [row for row in result if row.get("discount_percent") and row.discount_percent >= discount_percent] + result = [row for row in result if row.get("discount_percent") and row.discount_percent <= discount_percent] if self.filter_with_discount: # no limit was added to results while querying