diff --git a/website_sale_aplicoop/controllers/website_sale_pricing.py b/website_sale_aplicoop/controllers/website_sale_pricing.py index 379baf8..9deef53 100644 --- a/website_sale_aplicoop/controllers/website_sale_pricing.py +++ b/website_sale_aplicoop/controllers/website_sale_pricing.py @@ -54,6 +54,10 @@ def _prepare_product_display_info(self, product, product_price_info, request_obj uom_category_name = "" quantity_step = 1 price_unit_suffix = "" + bulk_unit_suffixes = { + "uom.product_uom_categ_kgm": "/Kg", + "uom.product_uom_categ_vol": "/L", + } if product.uom_id: uom = product.uom_id.sudo() @@ -82,8 +86,7 @@ def _prepare_product_display_info(self, product, product_price_info, request_obj full_xmlid = f"{external_id.module}.{external_id.name}" if full_xmlid in fractional_categories: quantity_step = 0.1 - if full_xmlid == "uom.product_uom_categ_kgm": - price_unit_suffix = "/Kg" + price_unit_suffix = bulk_unit_suffixes.get(full_xmlid, "") except Exception as e: _logger.warning( "_prepare_product_display_info: Error detecting UoM category XML ID for product %s: %s", @@ -91,6 +94,10 @@ def _prepare_product_display_info(self, product, product_price_info, request_obj str(e), ) + base_unit_price = 0.0 + if product.base_unit_count and price_safe: + base_unit_price = price_safe / product.base_unit_count + try: req = request_obj or request tr_env = req.env @@ -106,6 +113,7 @@ def _prepare_product_display_info(self, product, product_price_info, request_obj "safe_uom_category": uom_category_name, "quantity_step": quantity_step, "price_unit_suffix": price_unit_suffix, + "base_unit_price": base_unit_price, "out_of_stock_label": out_of_stock_label, "add_to_cart_label": add_to_cart_label, } diff --git a/website_sale_aplicoop/views/website_templates.xml b/website_sale_aplicoop/views/website_templates.xml index dce168e..9754f29 100644 --- a/website_sale_aplicoop/views/website_templates.xml +++ b/website_sale_aplicoop/views/website_templates.xml @@ -693,9 +693,10 @@ - + +

- € / + € /