From e34e8c36d784c12ee339ff73552080a1a8ed520a Mon Sep 17 00:00:00 2001 From: Robin Heinz Date: Thu, 17 Sep 2020 12:39:50 +0000 Subject: [PATCH] [FIX] pos_restaurant: avoid double order in backend. This fix removed the duplicates of an empty order when using the floor management. Before, when syncing order without order lines, it was creating an empty order in the backend. When reloading the table, it was creating a new empty order, ignoring the previous one. That problem lead to empty unpaid draft order. closes odoo/odoo#57952 Task-id: 2308862 Signed-off-by: Masereel Pierre --- addons/point_of_sale/static/src/js/db.js | 2 +- addons/pos_restaurant/static/src/js/floors.js | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/addons/point_of_sale/static/src/js/db.js b/addons/point_of_sale/static/src/js/db.js index 383c2cf8fd3..7073149d043 100644 --- a/addons/point_of_sale/static/src/js/db.js +++ b/addons/point_of_sale/static/src/js/db.js @@ -516,7 +516,7 @@ var PosDB = core.Class.extend({ var saved = this.load('unpaid_orders',[]); var orders = []; saved.forEach(function(o) { - if (ids.includes(o.id) && (o.data.server_id || o.data.lines.length)){ + if (ids.includes(o.id)){ orders.push(o); } }); diff --git a/addons/pos_restaurant/static/src/js/floors.js b/addons/pos_restaurant/static/src/js/floors.js index 3f5b739a260..cbe808dd001 100644 --- a/addons/pos_restaurant/static/src/js/floors.js +++ b/addons/pos_restaurant/static/src/js/floors.js @@ -236,11 +236,9 @@ models.PosModel = models.PosModel.extend({ } }); server_orders.forEach(function(server_order){ - if (server_order.lines.length){ - var new_order = new models.Order({},{pos: self, json: server_order}); - self.get("orders").add(new_order); - new_order.save_to_db(); - } + var new_order = new models.Order({},{pos: self, json: server_order}); + self.get("orders").add(new_order); + new_order.save_to_db(); }) if (!ids_to_remove.length) { self.set_synch('connected');