[FIX] account: default taxes
Use `ir.default` for default taxes. Stop using `ir.config_parameter`. Fixes #18943 opw-778010
This commit is contained in:
committed by
Nicolas Martinelli
parent
82364a2d73
commit
a9ede7fdfa
@@ -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)
|
||||
|
||||
@@ -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 """
|
||||
|
||||
@@ -63,6 +63,7 @@
|
||||
<div class="o_setting_left_pane"/>
|
||||
<div class="o_setting_right_pane">
|
||||
<label string='Default Taxes'/>
|
||||
<span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/>
|
||||
<div class="text-muted">
|
||||
Default taxes applied to local transactions
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user