You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
1.4 KiB

from odoo import models, api
class ResPartner(models.Model):
_inherit = "res.partner"
_order = "is_company desc, country_id, country_department_id, display_name, id"
@api.onchange("state_id")
def _onchange_state_id(self):
state = self.state_id
if state:
if self.partner_scale in ["dept", "loc"]:
crck = self.search(
[("partner_scale", "=", "reg"), ("state_id", "=", state)], limit=1
)
if crck and crck != self.crck_partner_id:
main = self.env.ref("base.main_partner")
if self.crck_partner_id != main:
self.crck_partner_id = main
elif self.partner_scale == "reg":
self.crck_partner_id = self
@api.onchange("country_department_id")
def _onchange_country_department_id(self):
dept = self.country_department_id
if dept and self.partner_scale == "loc":
cdck = self.search(
[("partner_scale", "=", "dep"), ("country_department_id", "=", dept)],
limit=1,
)
if cdck and cdck != self.cdck_partner_id:
main = self.env.ref("base.main_partner")
if self.cdck_partner_id != main:
self.cdck_partner_id = main
elif self.partner_scale == "dep":
self.cdck_partner_id = self