diff options
| -rw-r--r-- | addons/account/models/account_journal.py | 24 | ||||
| -rw-r--r-- | addons/l10n_dk/models/account_journal.py | 9 | ||||
| -rw-r--r-- | addons/l10n_mx/models/account.py | 26 | ||||
| -rw-r--r-- | addons/l10n_nl/models/account_journal.py | 10 |
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 |
