summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/account/models/account_journal.py24
-rw-r--r--addons/l10n_dk/models/account_journal.py9
-rw-r--r--addons/l10n_mx/models/account.py26
-rw-r--r--addons/l10n_nl/models/account_journal.py10
4 files changed, 35 insertions, 34 deletions
diff --git a/addons/account/models/account_journal.py b/addons/account/models/account_journal.py
index d159ca8877c..527a8bf76fd 100644
--- a/addons/account/models/account_journal.py
+++ b/addons/account/models/account_journal.py
@@ -468,6 +468,16 @@ class AccountJournal(models.Model):
return journal_code
@api.model
+ def _prepare_liquidity_account_vals(self, company, code, vals):
+ return {
+ 'name': vals.get('name'),
+ 'code': code,
+ 'user_type_id': self.env.ref('account.data_account_type_liquidity').id,
+ 'currency_id': vals.get('currency_id'),
+ 'company_id': company.id,
+ }
+
+ @api.model
def _fill_missing_values(self, vals):
journal_type = vals.get('type')
@@ -508,17 +518,9 @@ class AccountJournal(models.Model):
# === Fill missing accounts ===
if not has_liquidity_accounts:
- liquidity_account = self.env['account.account'].create({
- 'name': vals.get('name'),
- 'code': self.env['account.account']._search_new_account_code(company, digits, liquidity_account_prefix),
- 'user_type_id': liquidity_type.id,
- 'currency_id': vals.get('currency_id'),
- 'company_id': company.id,
- })
-
- vals.update({
- 'default_account_id': liquidity_account.id,
- })
+ default_account_code = self.env['account.account']._search_new_account_code(company, digits, liquidity_account_prefix)
+ default_account_vals = self._prepare_liquidity_account_vals(company, default_account_code, vals)
+ vals['default_account_id'] = self.env['account.account'].create(default_account_vals).id
if not has_payment_accounts:
vals['payment_debit_account_id'] = self.env['account.account'].create({
'name': _("Outstanding Receipts"),
diff --git a/addons/l10n_dk/models/account_journal.py b/addons/l10n_dk/models/account_journal.py
index a806213e64d..e4ffc538eb4 100644
--- a/addons/l10n_dk/models/account_journal.py
+++ b/addons/l10n_dk/models/account_journal.py
@@ -8,13 +8,14 @@ class AccountJournal(models.Model):
_inherit = 'account.journal'
@api.model
- def _prepare_liquidity_account(self, name, company, currency_id, type):
- account_vals = super(AccountJournal, self)._prepare_liquidity_account(name, company, currency_id, type)
+ def _prepare_liquidity_account_vals(self, company, code, vals):
+ # OVERRIDE
+ account_vals = super()._prepare_liquidity_account_vals(company, code, vals)
if company.country_id.code == 'DK':
# Ensure the newly liquidity accounts have the right account tag in order to be part
# of the Danish financial reports.
- xml_id = self.env.ref('l10n_dk.account_tag_liquidity').id
- account_vals['tag_ids'] = [(6, 0, [xml_id])]
+ account_vals.setdefault('tag_ids', [])
+ account_vals['tag_ids'].append((4, self.env.ref('l10n_dk.account_tag_liquidity').id))
return account_vals
diff --git a/addons/l10n_mx/models/account.py b/addons/l10n_mx/models/account.py
index c1230969cd2..7c038c127d6 100644
--- a/addons/l10n_mx/models/account.py
+++ b/addons/l10n_mx/models/account.py
@@ -9,20 +9,18 @@ from odoo import models, api, fields, _
class AccountJournal(models.Model):
_inherit = 'account.journal'
- @api.model
- def _prepare_liquidity_account(self, name, company, currency_id, type):
- '''
- When preparing the values to use when creating the default debit and credit accounts of a
- liquidity journal, set the correct tags for the mexican localization.
- '''
- res = super(AccountJournal, self)._prepare_liquidity_account(name, company, currency_id, type)
- if company.country_id.code == "MX":
- mx_tags = self.env['account.account'].mx_search_tags(res.get('code', ''))
- if mx_tags:
- res.update({
- 'tag_ids': [(6, 0, [tag.id for tag in mx_tags])]
- })
- return res
+ def _prepare_liquidity_account_vals(self, company, code, vals):
+ # OVERRIDE
+ account_vals = super()._prepare_liquidity_account_vals(company, code, vals)
+
+ if company.country_id.code == 'MX':
+ # When preparing the values to use when creating the default debit and credit accounts of a
+ # liquidity journal, set the correct tags for the mexican localization.
+ account_vals.setdefault('tag_ids', [])
+ account_vals['tag_ids'] += [(4, tag_id) for tag_id in self.env['account.account'].mx_search_tags(code).ids]
+
+ return account_vals
+
class AccountAccount(models.Model):
_inherit = 'account.account'
diff --git a/addons/l10n_nl/models/account_journal.py b/addons/l10n_nl/models/account_journal.py
index 987da59cd18..91c05218f72 100644
--- a/addons/l10n_nl/models/account_journal.py
+++ b/addons/l10n_nl/models/account_journal.py
@@ -7,14 +7,14 @@ class AccountJournal(models.Model):
_inherit = 'account.journal'
@api.model
- def _prepare_liquidity_account(self, name, company, currency_id, type):
- account_vals = super(AccountJournal, self)._prepare_liquidity_account(name, company, currency_id, type)
+ def _prepare_liquidity_account_vals(self, company, code, vals):
+ # OVERRIDE
+ account_vals = super()._prepare_liquidity_account_vals(company, code, vals)
if company.country_id.code == 'NL':
# Ensure the newly liquidity accounts have the right account tag in order to be part
# of the Dutch financial reports.
- tag_ids = account_vals.get('tag_ids', [])
- tag_ids.append((4, self.env.ref('l10n_nl.account_tag_25').id))
- account_vals['tag_ids'] = tag_ids
+ account_vals.setdefault('tag_ids', [])
+ account_vals['tag_ids'].append((4, self.env.ref('l10n_nl.account_tag_25').id))
return account_vals