From a9ede7fdfa0cec06d8bdc31b26e7549959c256d4 Mon Sep 17 00:00:00 2001 From: Nicolas Martinelli Date: Wed, 29 Nov 2017 13:37:36 +0100 Subject: [PATCH] [FIX] account: default taxes Use `ir.default` for default taxes. Stop using `ir.config_parameter`. Fixes #18943 opw-778010 --- addons/account/models/chart_template.py | 3 --- addons/account/models/res_config_settings.py | 20 ++++++------------- .../views/res_config_settings_views.xml | 1 + 3 files changed, 7 insertions(+), 17 deletions(-) diff --git a/addons/account/models/chart_template.py b/addons/account/models/chart_template.py index b1c586737f1..ca835a6222a 100644 --- a/addons/account/models/chart_template.py +++ b/addons/account/models/chart_template.py @@ -911,13 +911,10 @@ class WizardMultiChartsAccounts(models.TransientModel): # write values of default taxes for product as super user and write in the config IrDefault = self.env['ir.default'] - IrConfig = self.env['ir.config_parameter'] if self.sale_tax_id and taxes_ref: IrDefault.sudo().set('product.template', "taxes_id", [taxes_ref[self.sale_tax_id.id]], company_id=company.id) - IrConfig.sudo().set_param("account.default_sale_tax_id", taxes_ref[self.sale_tax_id.id]) if self.purchase_tax_id and taxes_ref: IrDefault.sudo().set('product.template', "supplier_taxes_id", [taxes_ref[self.purchase_tax_id.id]], company_id=company.id) - IrConfig.sudo().set_param("account.default_purchase_tax_id", taxes_ref[self.purchase_tax_id.id]) # Create Bank journals self._create_bank_journals_from_o2m(company, acc_template_ref) diff --git a/addons/account/models/res_config_settings.py b/addons/account/models/res_config_settings.py index 40c898cfd83..44182604d5c 100644 --- a/addons/account/models/res_config_settings.py +++ b/addons/account/models/res_config_settings.py @@ -1,8 +1,6 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. -from ast import literal_eval - from odoo import api, fields, models, _ @@ -65,25 +63,19 @@ class ResConfigSettings(models.TransientModel): @api.model def get_values(self): res = super(ResConfigSettings, self).get_values() - params = self.env['ir.config_parameter'].sudo() - tax = self.env['account.tax'].sudo() - default_purchase_tax_id = literal_eval(params.get_param('account.default_purchase_tax_id', default='False')) - default_sale_tax_id = literal_eval(params.get_param('account.default_sale_tax_id', default='False')) - if default_purchase_tax_id and not tax.browse(default_purchase_tax_id).exists(): - default_purchase_tax_id = False - if default_sale_tax_id and not tax.browse(default_sale_tax_id).exists(): - default_sale_tax_id = False + # ONLY FOR v11. DO NOT FORWARD-PORT + IrDefault = self.env['ir.default'].sudo() + default_sale_tax_id = IrDefault.get('product.template', "taxes_id", company_id=self.company_id.id or self.env.user.company_id.id) + default_purchase_tax_id = IrDefault.get('product.template', "supplier_taxes_id", company_id=self.company_id.id or self.env.user.company_id.id) res.update( - default_purchase_tax_id=default_purchase_tax_id, - default_sale_tax_id=default_sale_tax_id, + default_purchase_tax_id=default_purchase_tax_id[0] if default_purchase_tax_id else False, + default_sale_tax_id=default_sale_tax_id[0] if default_sale_tax_id else False, ) return res @api.multi def set_values(self): super(ResConfigSettings, self).set_values() - self.env['ir.config_parameter'].sudo().set_param("account.default_purchase_tax_id", self.default_purchase_tax_id.id) - self.env['ir.config_parameter'].sudo().set_param("account.default_sale_tax_id", self.default_sale_tax_id.id) if self.group_multi_currency: self.env.ref('base.group_user').write({'implied_ids': [(4, self.env.ref('product.group_sale_pricelist').id)]}) """ Set the product taxes if they have changed """ diff --git a/addons/account/views/res_config_settings_views.xml b/addons/account/views/res_config_settings_views.xml index 564d8a1cfaf..f61cf860d84 100644 --- a/addons/account/views/res_config_settings_views.xml +++ b/addons/account/views/res_config_settings_views.xml @@ -63,6 +63,7 @@