From 7f82ddabdcfa6569094aaded33cf281c5afb6feb Mon Sep 17 00:00:00 2001 From: Adrien Widart Date: Tue, 7 Sep 2021 08:10:39 +0000 Subject: [PATCH] [FIX] point_of_sale: consider scanned price as manual price In a POS session, when using the scanner, if the seller changes the customer, the prices may become incorrect To reproduce the issue 1. Create a product P: - Sales Price: 38 - Barcode: 2312345000002 - Available in POS: True 2. Start a POS session (with debug Window) 3. Scan 2312345010001 - This is product P with price $10 4. Set a Customer Error: The price is now $38 Because the price has not been set manually, when changing the customer, the pricelist is updated and so does the price. When scanning a barcode that includes a price, the latter should be considered as manually set. OPW-2618934 closes odoo/odoo#76096 X-original-commit: e66724272a5379c5d56f8fe48fa48ceac53cf12d Signed-off-by: pimodoo Signed-off-by: Adrien Widart --- .../static/src/js/Screens/ProductScreen/ProductScreen.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/addons/point_of_sale/static/src/js/Screens/ProductScreen/ProductScreen.js b/addons/point_of_sale/static/src/js/Screens/ProductScreen/ProductScreen.js index 188b2b30d1f..44e595455ed 100644 --- a/addons/point_of_sale/static/src/js/Screens/ProductScreen/ProductScreen.js +++ b/addons/point_of_sale/static/src/js/Screens/ProductScreen/ProductScreen.js @@ -245,7 +245,12 @@ odoo.define('point_of_sale.ProductScreen', function(require) { // update the options depending on the type of the scanned code if (code.type === 'price') { - Object.assign(options, { price: code.value }); + Object.assign(options, { + price: code.value, + extras: { + price_manually_set: true, + }, + }); } else if (code.type === 'weight') { Object.assign(options, { quantity: code.value,