diff --git a/addons/sale/views/sale_order_views.xml b/addons/sale/views/sale_order_views.xml index 865b5ec2c46..5318c97f063 100644 --- a/addons/sale/views/sale_order_views.xml +++ b/addons/sale/views/sale_order_views.xml @@ -280,6 +280,7 @@ confirm="This will update all unit prices based on the currently set pricelist." attrs="{'invisible': ['|', ('show_update_pricelist', '=', False), ('state', 'in', ['sale', 'done', 'cancel'])]}"/> + diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index 3f0e3c111b5..626f4e39535 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -731,6 +731,13 @@ class WebsiteSale(http.Controller): order_sudo._cart_update_pricelist(update_pricelist=True) return request.redirect(redirect) + def _cart_values(self, **post): + """ + This method is a hook to pass additional values when rendering the 'website_sale.cart' template (e.g. add + a flag to trigger a style variation) + """ + return {} + @http.route(['/shop/cart'], type='http', auth="public", website=True, sitemap=False) def cart(self, access_token=None, revive='', **post): """ @@ -775,6 +782,7 @@ class WebsiteSale(http.Controller): # force no-cache so IE11 doesn't cache this XHR return request.render("website_sale.cart_popover", values, headers={'Cache-Control': 'no-cache'}) + values.update(self._cart_values(**post)) return request.render("website_sale.cart", values) @http.route(['/shop/cart/update'], type='http', auth="public", methods=['POST'], website=True) @@ -1380,6 +1388,13 @@ class WebsiteSale(http.Controller): # ------------------------------------------------------ # Extra step # ------------------------------------------------------ + def _extra_info_values(self, **post): + """ + This method is a hook to pass additional values when rendering the 'website_sale.extra_info' template (e.g. add + a flag to trigger a style variation) + """ + return {} + @http.route(['/shop/extra_info'], type='http', auth="public", website=True, sitemap=False) def extra_info(self, **post): # Check that this option is activated @@ -1400,6 +1415,7 @@ class WebsiteSale(http.Controller): 'partner': order.partner_id.id, 'order': order, } + values.update(self._extra_info_values(**post)) return request.render("website_sale.extra_info", values) # ------------------------------------------------------