From 182b4d86f443eefcc647fb44f0b1f5fe406637d4 Mon Sep 17 00:00:00 2001 From: wan Date: Thu, 22 Nov 2018 10:49:46 +0000 Subject: [PATCH] [IMP] l10n_be/fr/lu: set refund_sequence on sale/purchase journals Belgium, France and Luxembourg should, by default, have a dedicated sequence for refunds. Task ID: 1872181 closes odoo/odoo#28639 --- addons/l10n_be/models/account_chart_template.py | 9 +++++++++ addons/l10n_fr/models/__init__.py | 1 + addons/l10n_fr/models/account_chart_template.py | 17 +++++++++++++++++ addons/l10n_lu/models/account_chart_template.py | 9 +++++++++ 4 files changed, 36 insertions(+) create mode 100644 addons/l10n_fr/models/account_chart_template.py diff --git a/addons/l10n_be/models/account_chart_template.py b/addons/l10n_be/models/account_chart_template.py index 38b6e369dff..2a89f0d095f 100644 --- a/addons/l10n_be/models/account_chart_template.py +++ b/addons/l10n_be/models/account_chart_template.py @@ -11,3 +11,12 @@ class AccountChartTemplate(models.Model): rslt = super(AccountChartTemplate, self).get_countries_posting_at_bank_rec() rslt.append('BE') return rslt + + @api.model + def _prepare_all_journals(self, acc_template_ref, company, journals_dict=None): + journal_data = super(AccountChartTemplate, self)._prepare_all_journals( + acc_template_ref, company, journals_dict) + for journal in journal_data: + if journal['type'] in ('sale', 'purchase') and company.country_id == self.env.ref('base.be'): + journal.update({'refund_sequence': True}) + return journal_data diff --git a/addons/l10n_fr/models/__init__.py b/addons/l10n_fr/models/__init__.py index b5b43e20b74..b7f9ad64022 100644 --- a/addons/l10n_fr/models/__init__.py +++ b/addons/l10n_fr/models/__init__.py @@ -2,3 +2,4 @@ # Part of Odoo. See LICENSE file for full copyright and licensing details. from . import l10n_fr +from . import account_chart_template diff --git a/addons/l10n_fr/models/account_chart_template.py b/addons/l10n_fr/models/account_chart_template.py new file mode 100644 index 00000000000..21a35704b99 --- /dev/null +++ b/addons/l10n_fr/models/account_chart_template.py @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, models, fields + + +class AccountChartTemplate(models.Model): + _inherit = 'account.chart.template' + + @api.model + def _prepare_all_journals(self, acc_template_ref, company, journals_dict=None): + journal_data = super(AccountChartTemplate, self)._prepare_all_journals( + acc_template_ref, company, journals_dict) + for journal in journal_data: + if journal['type'] in ('sale', 'purchase') and company.country_id == self.env.ref('base.fr'): + journal.update({'refund_sequence': True}) + return journal_data diff --git a/addons/l10n_lu/models/account_chart_template.py b/addons/l10n_lu/models/account_chart_template.py index 47716f83604..7eabdbb63d0 100644 --- a/addons/l10n_lu/models/account_chart_template.py +++ b/addons/l10n_lu/models/account_chart_template.py @@ -11,3 +11,12 @@ class AccountChartTemplate(models.Model): rslt = super(AccountChartTemplate, self).get_countries_posting_at_bank_rec() rslt.append('LU') return rslt + + @api.model + def _prepare_all_journals(self, acc_template_ref, company, journals_dict=None): + journal_data = super(AccountChartTemplate, self)._prepare_all_journals( + acc_template_ref, company, journals_dict) + for journal in journal_data: + if journal['type'] in ('sale', 'purchase') and company.country_id == self.env.ref('base.lu'): + journal.update({'refund_sequence': True}) + return journal_data