diff --git a/controllers/main.py b/controllers/main.py index 3a589ac2979..c818db4640f 100644 --- a/controllers/main.py +++ b/controllers/main.py @@ -19,3 +19,9 @@ class WebsiteSale(WebsiteSale): order = request.website.sale_get_order() order.recompute_coupon_lines() return super(WebsiteSale, self).payment(**post) + + @http.route(['/shop/cart'], type='http', auth="public", website=True) + def cart(self, **post): + order = request.website.sale_get_order() + order.recompute_coupon_lines() + return super(WebsiteSale, self).cart(**post) diff --git a/models/__init__.py b/models/__init__.py index bdc919f5eec..1cc49f34af5 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -2,4 +2,5 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. import sale_coupon_rule -import sale_order \ No newline at end of file +import sale_order +import website diff --git a/models/website.py b/models/website.py new file mode 100644 index 00000000000..37f93c7f64b --- /dev/null +++ b/models/website.py @@ -0,0 +1,12 @@ +# -*- coding: utf-8 -*- +from odoo import models, fields, api + + +class Website(models.Model): + _inherit = "website" + + @api.multi + def sale_get_order(self, force_create=False, code=None, update_pricelist=False, force_pricelist=False): + order = super(Website, self).sale_get_order(force_create, code, update_pricelist, force_pricelist) + order.recompute_coupon_lines() + return order