[12.0][FIX] - contract company must be the same as the sale order

When creating a contract from a sale order the company must be the sale order
company and not the user company
This commit is contained in:
sbejaoui
2019-10-28 17:52:30 +01:00
committed by Ilyas
parent 95350f309a
commit 18c897e67c
2 changed files with 14 additions and 0 deletions

View File

@@ -46,6 +46,7 @@ class SaleOrder(models.Model):
template_name=contract_template.name, sale_name=self.name
),
'partner_id': self.partner_id.id,
'company_id': self.company_id.id,
'contract_template_id': contract_template.id,
'user_id': self.user_id.id,
'payment_term_id': self.payment_term_id.id,

View File

@@ -110,6 +110,19 @@ class TestSaleOrder(TransactionCase):
contract_line.recurring_next_date, Date.to_date('2018-01-31')
)
def test_contract_company(self):
"""
contract company must be the sale order company and not the user one
"""
self.assertTrue(self.sale.company_id)
other_company = self.env['res.company'].create(
{'name': 'other company', 'parent_id': self.sale.company_id.id}
)
self.sale.company_id = other_company
self.sale.action_confirm()
contracts = self.sale.order_line.mapped('contract_id')
self.assertEqual(contracts.mapped('company_id'), other_company)
def test_sale_order_invoice_status(self):
"""
sale line linked to contracts must not be invoiced from sale order