diff --git a/addons/point_of_sale/models/res_partner.py b/addons/point_of_sale/models/res_partner.py index a94f0a79b60..c0906a9034d 100644 --- a/addons/point_of_sale/models/res_partner.py +++ b/addons/point_of_sale/models/res_partner.py @@ -7,6 +7,13 @@ class ResPartner(models.Model): _inherit = 'res.partner' barcode = fields.Char(string='Barcode', help="BarCode", oldname='ean13') + pos_order_count = fields.Integer(compute='_compute_pos_order', help="The number of point of sale orders related to this customer") + + def _compute_pos_order(self): + partners_data = self.env['pos.order'].read_group([('partner_id', 'in', self.ids)], ['partner_id'], ['partner_id']) + mapped_data = dict([(partner['partner_id'][0], partner['partner_id_count']) for partner in partners_data]) + for partner in self: + partner.pos_order_count = mapped_data.get(partner.id, 0) @api.model def create_from_ui(self, partner): @@ -20,5 +27,4 @@ class ResPartner(models.Model): self.browse(partner_id).write(partner) else: partner_id = self.create(partner).id - return partner_id diff --git a/addons/point_of_sale/views/pos_order_view.xml b/addons/point_of_sale/views/pos_order_view.xml index c9ee5c8693d..b2718c96526 100644 --- a/addons/point_of_sale/views/pos_order_view.xml +++ b/addons/point_of_sale/views/pos_order_view.xml @@ -239,6 +239,7 @@ + diff --git a/addons/point_of_sale/views/res_partner_view.xml b/addons/point_of_sale/views/res_partner_view.xml index 746aab53613..854631798ef 100644 --- a/addons/point_of_sale/views/res_partner_view.xml +++ b/addons/point_of_sale/views/res_partner_view.xml @@ -3,8 +3,16 @@ res.partner.pos.form.inherit res.partner - + + + + @@ -12,4 +20,17 @@ + + res.partner.pos.kanban.inherit + res.partner + + + + + + + + + +