diff --git a/erpnext/www/all-products/index.py b/erpnext/www/all-products/index.py index 6ebc1c305e5..2d4a357e5e9 100644 --- a/erpnext/www/all-products/index.py +++ b/erpnext/www/all-products/index.py @@ -2,6 +2,7 @@ import frappe from erpnext.portal.product_configurator.utils import (get_products_for_website, get_product_settings, get_field_filter_data, get_attribute_filter_data) from erpnext.shopping_cart.product_query import ProductQuery +from erpnext.shopping_cart.filters import ProductFiltersBuilder sitemap = 1 @@ -13,22 +14,18 @@ def get_context(context): attribute_filters = frappe.parse_json(frappe.form_dict.attribute_filters) else: search = field_filters = attribute_filters = None - - # items = get_products_for_website(field_filters, attribute_filters, search) - + engine = ProductQuery() - items = engine.query(attribute_filters, field_filters, search) + context.items = engine.query(attribute_filters, field_filters, search) product_settings = get_product_settings() - context.items = items - context.field_filters = get_field_filter_data() \ - if product_settings.enable_field_filters else [] + filter_engine = ProductFiltersBuilder() - context.attribute_filters = get_attribute_filter_data() \ - if product_settings.enable_attribute_filters else [] + context.field_filters = filter_engine.get_field_filters() + context.attribute_filters = filter_engine.get_attribute_fitlers() context.product_settings = product_settings context.body_class = "product-page" - context.page_length = product_settings.products_per_page + context.page_length = product_settings.products_per_page or 20 context.no_cache = 1