oca-ocb-pos/odoo-bringout-oca-ocb-pos_restaurant/pos_restaurant/models/pos_order.py
Ernad Husremovic 3ca647e428 19.0 vanilla
2026-03-09 09:29:53 +01:00

27 lines
1.4 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import api, fields, models
class PosOrder(models.Model):
_inherit = 'pos.order'
table_id = fields.Many2one('restaurant.table', string='Table', help='The table where this order was served', index='btree_not_null', readonly=True)
customer_count = fields.Integer(string='Guests', help='The amount of customers that have been served by this order.', readonly=True)
course_ids = fields.One2many('restaurant.order.course', 'order_id', string="Courses")
def _get_open_order(self, order):
config_id = self.env['pos.session'].browse(order.get('session_id')).config_id
if not config_id.module_pos_restaurant:
return super()._get_open_order(order)
domain = []
if order.get('table_id', False) and order.get('state') == 'draft':
domain += ['|', ('uuid', '=', order.get('uuid')), '&', ('table_id', '=', order.get('table_id')), ('state', '=', 'draft')]
else:
domain += [('uuid', '=', order.get('uuid'))]
return self.env["pos.order"].search(domain, limit=1, order='id desc')
def read_pos_data(self, data, config):
result = super().read_pos_data(data, config)
result['restaurant.order.course'] = self.env['restaurant.order.course']._load_pos_data_read(self.course_ids, config)
return result