From dc9864dc0680a9ec02b234bd0c536ac5fcf9cc06 Mon Sep 17 00:00:00 2001 From: sergio-teruel Date: Thu, 30 Jan 2025 15:36:01 +0100 Subject: [PATCH] [FIX] account_payment_sale: Company error validation when user changes company in sale order --- account_payment_sale/models/sale_order.py | 6 ++++-- account_payment_sale/tests/test_sale_order.py | 6 ++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/account_payment_sale/models/sale_order.py b/account_payment_sale/models/sale_order.py index ab66f7b49..4d32933e4 100644 --- a/account_payment_sale/models/sale_order.py +++ b/account_payment_sale/models/sale_order.py @@ -17,11 +17,13 @@ class SaleOrder(models.Model): domain="[('payment_type', '=', 'inbound'), ('company_id', '=', company_id)]", ) - @api.depends("partner_id") + @api.depends("partner_id", "company_id") def _compute_payment_mode(self): for order in self: if order.partner_id: - order.payment_mode_id = order.partner_id.customer_payment_mode_id + order.payment_mode_id = order.with_company( + order.company_id + ).partner_id.customer_payment_mode_id else: order.payment_mode_id = False diff --git a/account_payment_sale/tests/test_sale_order.py b/account_payment_sale/tests/test_sale_order.py index f791fb3ee..a4c479eed 100644 --- a/account_payment_sale/tests/test_sale_order.py +++ b/account_payment_sale/tests/test_sale_order.py @@ -135,3 +135,9 @@ class TestSaleOrder(CommonTestCase): orders.action_confirm() invoices = orders._create_invoices() self.assertEqual(2, len(invoices)) + + def test_change_sale_company(self): + order = self.create_sale_order() + other_company = self.env["res.company"].create({"name": "other company"}) + order.company_id = other_company + self.assertFalse(order.payment_mode_id)