915b34391c
* chore: Added isort to pre-commit config * chore: Sort imports with isort * chore: Clean up imports with pycln * chore: Sort imports with isort * chore: Fix import issues * chore: Clean up sider issues * chore: Remove import errors from flake8 ignore list * chore: Clean up lint issues
37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
import frappe
|
|
|
|
from erpnext.portal.product_configurator.utils import get_product_settings
|
|
from erpnext.shopping_cart.filters import ProductFiltersBuilder
|
|
from erpnext.shopping_cart.product_query import ProductQuery
|
|
|
|
sitemap = 1
|
|
|
|
def get_context(context):
|
|
|
|
if frappe.form_dict:
|
|
search = frappe.form_dict.search
|
|
field_filters = frappe.parse_json(frappe.form_dict.field_filters)
|
|
attribute_filters = frappe.parse_json(frappe.form_dict.attribute_filters)
|
|
start = frappe.parse_json(frappe.form_dict.start)
|
|
else:
|
|
search = field_filters = attribute_filters = None
|
|
start = 0
|
|
|
|
engine = ProductQuery()
|
|
context.items = engine.query(attribute_filters, field_filters, search, start)
|
|
|
|
# Add homepage as parent
|
|
context.parents = [{"name": frappe._("Home"), "route":"/"}]
|
|
|
|
product_settings = get_product_settings()
|
|
filter_engine = ProductFiltersBuilder()
|
|
|
|
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 or 20
|
|
|
|
context.no_cache = 1
|