summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/account/models/account_invoice.py3
-rw-r--r--addons/account/tests/test_account_supplier_invoice.py2
2 files changed, 5 insertions, 0 deletions
diff --git a/addons/account/models/account_invoice.py b/addons/account/models/account_invoice.py
index 1bb091cd849..0da8e8c51e8 100644
--- a/addons/account/models/account_invoice.py
+++ b/addons/account/models/account_invoice.py
@@ -447,6 +447,9 @@ class AccountInvoice(models.Model):
@api.model
def create(self, vals):
+ if not vals.get('journal_id') and vals.get('type'):
+ vals['journal_id'] = self.with_context(type=vals.get('type'))._default_journal().id
+
onchanges = {
'_onchange_partner_id': ['account_id', 'payment_term_id', 'fiscal_position_id', 'partner_bank_id'],
'_onchange_journal_id': ['currency_id'],
diff --git a/addons/account/tests/test_account_supplier_invoice.py b/addons/account/tests/test_account_supplier_invoice.py
index 357ac04f8f2..e28a4b4f893 100644
--- a/addons/account/tests/test_account_supplier_invoice.py
+++ b/addons/account/tests/test_account_supplier_invoice.py
@@ -21,6 +21,7 @@ class TestAccountSupplierInvoice(AccountingTestCase):
'account_id': invoice_account,
'type': 'in_invoice',
})
+ self.assertEquals(invoice.journal_id.type, 'purchase')
self.env['account.invoice.line'].create({'product_id': self.env.ref('product.product_product_4').id,
'quantity': 1.0,
@@ -76,6 +77,7 @@ class TestAccountSupplierInvoice(AccountingTestCase):
'account_id': invoice_account,
'type': 'in_invoice',
})
+ self.assertEquals(invoice.journal_id.type, 'purchase')
invoice_line = self.env['account.invoice.line'].create({'product_id': self.env.ref('product.product_product_4').id,
'quantity': 5.0,