[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 <pim@odoo.com>
This commit is contained in:
Robin Heinz
2022-01-05 13:44:55 +00:00
committed by Pierre Masereel
parent 9255d3d7d9
commit e34e8c36d7
2 changed files with 4 additions and 6 deletions
+1 -1
View File
@@ -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);
}
});
@@ -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');