From a03a04524069cb8fe94622be7f0d48947ca5075e Mon Sep 17 00:00:00 2001 From: sushan Date: Fri, 7 Feb 2025 14:59:25 +0100 Subject: [PATCH] [IMP] website_sale_product_assortment --- .../controllers/__init__.py | 1 + .../controllers/main.py | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 website_sale_product_assortment/controllers/main.py diff --git a/website_sale_product_assortment/controllers/__init__.py b/website_sale_product_assortment/controllers/__init__.py index 97b95b7d8c..22c199535e 100644 --- a/website_sale_product_assortment/controllers/__init__.py +++ b/website_sale_product_assortment/controllers/__init__.py @@ -1,2 +1,3 @@ from . import variant from . import website_sale +from . import main diff --git a/website_sale_product_assortment/controllers/main.py b/website_sale_product_assortment/controllers/main.py new file mode 100644 index 0000000000..0a33652b56 --- /dev/null +++ b/website_sale_product_assortment/controllers/main.py @@ -0,0 +1,34 @@ +from odoo import http + +from odoo.addons.website.controllers import main + +from .website_sale import WebsiteSale + + +class Website(main.Website, WebsiteSale): + @http.route( + "/website/snippet/autocomplete", type="json", auth="public", website=True + ) + def autocomplete( + self, + search_type=None, + term=None, + order=None, + limit=5, + max_nb_chars=999, + options=None, + ): + allowed_product_ids, assortment_restriction = self._get_products_allowed() + if assortment_restriction: + options["allowed_product_domain"] = [ + ("product_variant_ids", "in", list(allowed_product_ids)) + ] + values = super().autocomplete( + search_type=search_type, + term=term, + order=order, + limit=limit, + max_nb_chars=max_nb_chars, + options=options, + ) + return values