# Copyright (C) 2004-Today Apertoso NV () # Copyright (C) 2016-Today: La Louve () # Copyright (C) 2019-Today: Druidoo () # @author: Jos DE GRAEVE () # @author: Sylvain LE GAL (https://twitter.com/legalsylvain) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). from odoo import fields, models, exceptions, api, _ class PosOrder(models.Model): _inherit = 'pos.order' @api.multi @api.depends('session_id.config_id.require_customer') def compute_require_customer(self): for order in self: order.require_customer = ( order.session_id.config_id.require_customer == 'order') require_customer = fields.Boolean( compute='compute_require_customer', string='Require customer', help="True if a customer is required to begin the order.\n" "See the PoS Config to change this setting") @api.constrains('partner_id', 'require_customer') def _check_partner(self): for rec in self: if ( rec.session_id.config_id.require_customer == 'order' and not rec.partner_id ): raise exceptions.ValidationError(_( 'Customer is required for this order and is missing.'))