From 6e594f95373dacadad630bcda50fc0ff927871aa Mon Sep 17 00:00:00 2001 From: Jorge Pinna Puissant Date: Thu, 12 Nov 2020 14:59:07 +0000 Subject: [PATCH] [FIX] account,point_of_sale: increment customer supplier rank to commercial partner Before this commit, if a customer/supplier has an invoice address, when creating an invoice/bill it's the invoice address that will be identified as the customer/supplier and that will have its rank increased and not the commercial partner. Now, the rank increment is done to the commercial partner as well. opw-2377870 closes odoo/odoo#61778 X-original-commit: dbf042611ccb134a220704d6b775aab650364ca2 Signed-off-by: Nicolas Martinelli (nim) --- addons/account/models/account_move.py | 4 ++-- addons/point_of_sale/models/pos_session.py | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/addons/account/models/account_move.py b/addons/account/models/account_move.py index 6e9e9f0929b30..24aa7459e5955 100644 --- a/addons/account/models/account_move.py +++ b/addons/account/models/account_move.py @@ -2453,9 +2453,9 @@ def _post(self, soft=True): elif move.is_purchase_document(): supplier_count[move.partner_id] += 1 for partner, count in customer_count.items(): - partner._increase_rank('customer_rank', count) + (partner | partner.commercial_partner_id)._increase_rank('customer_rank', count) for partner, count in supplier_count.items(): - partner._increase_rank('supplier_rank', count) + (partner | partner.commercial_partner_id)._increase_rank('supplier_rank', count) # Trigger action for paid invoices in amount is zero to_post.filtered( diff --git a/addons/point_of_sale/models/pos_session.py b/addons/point_of_sale/models/pos_session.py index 3fbb8996c8a95..58cd83b1301d5 100644 --- a/addons/point_of_sale/models/pos_session.py +++ b/addons/point_of_sale/models/pos_session.py @@ -480,7 +480,8 @@ def _accumulate_amounts(self, data): rounding_difference = self._update_amounts(rounding_difference, {'amount': diff}, order.date_order) # Increasing current partner's customer_rank - order.partner_id._increase_rank('customer_rank') + partners = (order.partner_id | order.partner_id.commercial_partner_id) + partners._increase_rank('customer_rank') if self.company_id.anglo_saxon_accounting: global_session_pickings = self.picking_ids.filtered(lambda p: not p.pos_order_id)