[FIX] website_sale_coupon: update reward line total when changing product qty on cart
- Add a product (imac 1.799$) and a promo code (eg: 10%) in your cart - Go to checkout (/shop/cart). You now see 1,619.10 Total and 179.90 discount - Change product qty (eg: 2) - Subtotal is now 2x 1.799 - 179.90 instead of 2x 1.799 - 2x 179.90 - Reward line total (discount) is still the same amount (10% on 1 ipad) Now, we will recompute the discount price based on the entire cart Note: This behavior was wanted and comes from this commit #87d542 But for the shop, we need to have the reward line being updated on the fly or it wont make sense for the end user. This closes #ee4be7a532dd707a0cd19c766dc8e8537dcda242
This commit is contained in:
@@ -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)
|
||||
|
||||
+2
-1
@@ -2,4 +2,5 @@
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
import sale_coupon_rule
|
||||
import sale_order
|
||||
import sale_order
|
||||
import website
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user