[FIX] account_payment_sale: Company error validation when user changes company in sale order

This commit is contained in:
sergio-teruel
2025-01-30 15:36:01 +01:00
parent 1371268272
commit dc9864dc06
2 changed files with 10 additions and 2 deletions

View File

@@ -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

View File

@@ -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)