diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index 47a1eae07ee..65155ca3ba8 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -934,11 +934,14 @@ class website_sale(http.Controller): return ret @http.route(['/shop/get_unit_price'], type='json', auth="public", methods=['POST'], website=True) - def get_unit_price(self, product_ids, add_qty, **kw): + def get_unit_price(self, product_ids, add_qty, use_order_pricelist=False, **kw): cr, uid, context, pool = request.cr, request.uid, request.context, request.registry products = pool['product.product'].browse(cr, uid, product_ids, context=context) partner = pool['res.users'].browse(cr, uid, uid, context=context).partner_id - pricelist_id = request.session.get('sale_order_code_pricelist_id') or partner.property_product_pricelist.id + if use_order_pricelist: + pricelist_id = request.session.get('sale_order_code_pricelist_id') or partner.property_product_pricelist.id + else: + pricelist_id = partner.property_product_pricelist.id prices = pool['product.pricelist'].price_rule_get_multi(cr, uid, [], [(product, add_qty, partner) for product in products], context=context) return {product_id: prices[product_id][pricelist_id][0] for product_id in product_ids} diff --git a/addons/website_sale/static/src/js/website_sale.js b/addons/website_sale/static/src/js/website_sale.js index b9b351b9266..d48accaac58 100644 --- a/addons/website_sale/static/src/js/website_sale.js +++ b/addons/website_sale/static/src/js/website_sale.js @@ -56,7 +56,8 @@ $('.oe_website_sale').each(function () { if (isNaN(value)) value = 0; openerp.jsonRpc("/shop/get_unit_price", 'call', { 'product_ids': product_ids, - 'add_qty': value}) + 'add_qty': value, + 'use_order_pricelist': true}) .then(function (res) { //basic case $dom.find('span.oe_currency_value').last().text(res[product_id].toFixed(2));