mirror of
https://github.com/bringout/oca-technical.git
synced 2026-04-19 20:12:08 +02:00
38 lines
1 KiB
Python
38 lines
1 KiB
Python
# Copyright 2023 Quartile Limited
|
|
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
|
|
|
|
from odoo import api, models
|
|
from odoo.osv import expression
|
|
|
|
|
|
class CrmLead(models.Model):
|
|
_inherit = ["crm.lead", "base.exception"]
|
|
_name = "crm.lead"
|
|
_order = "main_exception_id asc, name desc"
|
|
|
|
def write(self, vals):
|
|
result = super().write(vals)
|
|
# To avoid a recursive call, write()
|
|
if "exception_ids" in vals:
|
|
return result
|
|
self._check_exception()
|
|
return result
|
|
|
|
@api.model
|
|
def _reverse_field(self):
|
|
return "crm_lead_ids"
|
|
|
|
def _rule_domain(self):
|
|
rule_domain = super()._rule_domain()
|
|
if self.stage_id:
|
|
rule_domain = expression.AND(
|
|
[
|
|
rule_domain,
|
|
[
|
|
"|",
|
|
("stage_ids", "in", tuple(self.stage_id.ids)),
|
|
("stage_ids", "=", False),
|
|
],
|
|
]
|
|
)
|
|
return rule_domain
|