partner-contact/partner_property/models/res_company.py
2024-11-08 08:13:24 +01:00

58 lines
2.3 KiB
Python

# Copyright 2024 Tecnativa - Víctor Martínez
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from flectra import api, fields, models
class ResCompany(models.Model):
_inherit = "res.company"
partner_properties_definition_company = fields.PropertiesDefinition(
string="Partner Properties (company)",
compute="_compute_partner_properties_definition_company",
inverse="_inverse_partner_properties_definition_company",
)
partner_properties_definition_person = fields.PropertiesDefinition(
string="Partner Properties (person)",
compute="_compute_partner_properties_definition_person",
inverse="_inverse_partner_properties_definition_person",
)
@api.depends_context("company")
def _compute_partner_properties_definition_company(self):
ICP = self.env["ir.config_parameter"]
value = ICP.sudo().get_param("partner_property.properties_definition_company")
pt = fields.PropertiesDefinition()
for item in self:
item.partner_properties_definition_company = pt.convert_to_cache(
value, item
)
@api.depends_context("company")
def _compute_partner_properties_definition_person(self):
ICP = self.env["ir.config_parameter"]
value = ICP.sudo().get_param("partner_property.properties_definition_person")
pt = fields.PropertiesDefinition()
for item in self:
item.partner_properties_definition_person = pt.convert_to_cache(value, item)
def _inverse_partner_properties_definition_company(self):
ICP = self.env["ir.config_parameter"]
pt = fields.PropertiesDefinition()
for item in self:
value = pt.convert_to_column(
item.partner_properties_definition_company, item
)
ICP.sudo().set_param(
"partner_property.properties_definition_company", value
)
def _inverse_partner_properties_definition_person(self):
ICP = self.env["ir.config_parameter"]
pt = fields.PropertiesDefinition()
for item in self:
value = pt.convert_to_column(
item.partner_properties_definition_person, item
)
ICP.sudo().set_param("partner_property.properties_definition_person", value)