summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/point_of_sale/models/pos_order.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/addons/point_of_sale/models/pos_order.py b/addons/point_of_sale/models/pos_order.py
index 472c9fb802b..22d924dcfc6 100644
--- a/addons/point_of_sale/models/pos_order.py
+++ b/addons/point_of_sale/models/pos_order.py
@@ -435,8 +435,9 @@ class PosOrder(models.Model):
for order in orders:
existing_order = False
if 'server_id' in order['data']:
- existing_order = self.env['pos.order'].search([('id', '=', order['data']['server_id'])], limit=1)
- order_ids.append(self._process_order(order, draft, existing_order))
+ existing_order = self.env['pos.order'].search(['|', ('id', '=', order['data']['server_id']), ('pos_reference', '=', order['data']['name'])], limit=1)
+ if (existing_order and existing_order.state == 'draft') or not existing_order:
+ order_ids.append(self._process_order(order, draft, existing_order))
return self.env['pos.order'].search_read(domain = [('id', 'in', order_ids)], fields = ['id', 'pos_reference'])