diff --git a/addons/account/models/account_move.py b/addons/account/models/account_move.py index 6b9469f7a18..07b96fe5e4b 100644 --- a/addons/account/models/account_move.py +++ b/addons/account/models/account_move.py @@ -308,6 +308,11 @@ class AccountMove(models.Model): res['fields']['line_ids']['views']['tree']['fields']['tax_line_id']['domain'] = [('tag_ids', 'in', [self.env.ref(self._context.get('vat_domain')).id])] return res + @api.constrains('company_id') + def _check_company_id(self): + if self.filtered(lambda record: any([x.company_id.id != record.company_id.id for x in record.line_ids])): + raise ValidationError(_("Cannot create moves for different companies.")) + @api.model def create(self, vals): move = super(AccountMove, self.with_context(mail_create_nolog=True, check_move_validity=False, partner_id=vals.get('partner_id'))).create(vals) diff --git a/addons/account/tests/test_account_move_taxes_edition.py b/addons/account/tests/test_account_move_taxes_edition.py index df17788266c..036ab2abdee 100644 --- a/addons/account/tests/test_account_move_taxes_edition.py +++ b/addons/account/tests/test_account_move_taxes_edition.py @@ -14,8 +14,10 @@ class TestAccountMoveTaxesEdition(AccountingTestCase): 'amount_type': 'percent', 'amount': 10, }) - self.account = self.env['account.account'].search([('deprecated', '=', False)], limit=1) self.journal = self.env['account.journal'].search([], limit=1) + self.account = self.env['account.account'].search([ + ('deprecated', '=', False), ('company_id', '=', self.journal.company_id.id) + ], limit=1) def test_onchange_taxes_1(self): '''