From 8afdad1ac1100f37e4b7a44e13d1ca90cbfb247f Mon Sep 17 00:00:00 2001 From: "Pedram (PEBR)" Date: Thu, 7 Dec 2023 14:25:44 +0100 Subject: [PATCH] [FIX] pos_sale: keep sale order references in pos restaurant Before this commit, if the user tried to settle a sale order in PoS restaurant, then went back to floor and then returned to the table, the sale order reference will disappear. The problem is that the `sale_order_origin_id` is not loaded. opw-3550351 closes odoo/odoo#149262 X-original-commit: 13db10c1c73418ce4eabc52ef2415a1f27f1e24e Signed-off-by: Joseph Caburnay (jcb) Signed-off-by: Pedram Bi Ria (pebr) --- addons/pos_sale/models/pos_order.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/addons/pos_sale/models/pos_order.py b/addons/pos_sale/models/pos_order.py index 0ddf0a2f56b..a110af837b2 100644 --- a/addons/pos_sale/models/pos_order.py +++ b/addons/pos_sale/models/pos_order.py @@ -122,6 +122,28 @@ class PosOrder(models.Model): return inv_line_vals + def _get_fields_for_order_line(self): + fields = super(PosOrder, self)._get_fields_for_order_line() + fields.extend([ + 'sale_order_origin_id', + 'down_payment_details', + 'sale_order_line_id', + ]) + return fields + + def _prepare_order_line(self, order_line): + order_line = super()._prepare_order_line(order_line) + if order_line.get('sale_order_origin_id'): + order_line['sale_order_origin_id'] = { + 'id': order_line['sale_order_origin_id'][0], + 'name': order_line['sale_order_origin_id'][1], + } + if order_line.get('sale_order_line_id'): + order_line['sale_order_line_id'] = { + 'id': order_line['sale_order_line_id'][0], + } + return order_line + class PosOrderLine(models.Model): _inherit = 'pos.order.line'