36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
# -*- coding: utf-8 -*-
|
|
from odoo import fields, models
|
|
|
|
PARAM_FISCAL_POSITION = 'partner_default_properties.fiscal_position_id'
|
|
PARAM_PAYMENT_TERM = 'partner_default_properties.payment_term_id'
|
|
|
|
|
|
class ResConfigSettings(models.TransientModel):
|
|
_inherit = 'res.config.settings'
|
|
|
|
customer_fiscal_position_id = fields.Many2one(
|
|
comodel_name='account.fiscal.position',
|
|
string='Default Fiscal Position',
|
|
)
|
|
customer_payment_term_id = fields.Many2one(
|
|
comodel_name='account.payment.term',
|
|
string='Default Payment Terms',
|
|
)
|
|
|
|
def get_values(self):
|
|
res = super().get_values()
|
|
ICP = self.env['ir.config_parameter'].sudo()
|
|
fp_id = ICP.get_param(PARAM_FISCAL_POSITION)
|
|
pt_id = ICP.get_param(PARAM_PAYMENT_TERM)
|
|
res.update({
|
|
'customer_fiscal_position_id': int(fp_id) if fp_id else False,
|
|
'customer_payment_term_id': int(pt_id) if pt_id else False,
|
|
})
|
|
return res
|
|
|
|
def set_values(self):
|
|
super().set_values()
|
|
ICP = self.env['ir.config_parameter'].sudo()
|
|
ICP.set_param(PARAM_FISCAL_POSITION, self.customer_fiscal_position_id.id or False)
|
|
ICP.set_param(PARAM_PAYMENT_TERM, self.customer_payment_term_id.id or False)
|