summaryrefslogtreecommitdiff
path: root/addons/pos_discount/static
diff options
context:
space:
mode:
authorNicolas Martinelli <nim@odoo.com>2019-06-27 11:47:10 +0000
committerNicolas Martinelli <nim@odoo.com>2019-06-27 11:51:54 +0000
commit7670c6c80a0717bc003655febbccf255cd38136b (patch)
treee3b6aea9f4e747cbfb0d7197e82661c5e995898f /addons/pos_discount/static
parent365110e9ebe8bcb9eb08e44ec961defee8c2ac82 (diff)
[FIX] pos_discount: change customer
- Enable general discounts for POS - Create a POS session - Add a product - Create a general discount of 10% - Change the customer The discount is reset to the product price. When changing the customer, the prices are reset: https://github.com/odoo/odoo/blob/3b1699e02d4483913159681bf7e10839e6493244/addons/point_of_sale/static/src/js/screens.js#L1251 In the case of a global discount, the price is therefore reset to the product price in: https://github.com/odoo/odoo/blob/3b1699e02d4483913159681bf7e10839e6493244/addons/point_of_sale/static/src/js/models.js#L2304 To avoid this, we set the price as manually set. Conceptually, this is indeed the case since we manually chose the percentage, therefore the price. opw-2009761 closes odoo/odoo#34416 Signed-off-by: Nicolas Martinelli (nim) <nim@odoo.com>
Diffstat (limited to 'addons/pos_discount/static')
-rw-r--r--addons/pos_discount/static/src/js/discount.js8
1 files changed, 7 insertions, 1 deletions
diff --git a/addons/pos_discount/static/src/js/discount.js b/addons/pos_discount/static/src/js/discount.js
index 87b97f88e16..fc41e55bc05 100644
--- a/addons/pos_discount/static/src/js/discount.js
+++ b/addons/pos_discount/static/src/js/discount.js
@@ -42,10 +42,16 @@ var DiscountButton = screens.ActionButtonWidget.extend({
}
// Add discount
+ // We add the price as manually set to avoid recomputation when changing customer.
var discount = - pc / 100.0 * order.get_total_with_tax();
if( discount < 0 ){
- order.add_product(product, { price: discount });
+ order.add_product(product, {
+ price: discount,
+ extras: {
+ price_manually_set: true,
+ },
+ });
}
},
});