Sélectionner une révision Git
res_partner.py 3,14 Kio
# Copyright 2021 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import api, fields, models
class ResPartner(models.Model):
_inherit = "res.partner"
# Company Fields
membership_number = fields.Integer(
string="N° Adhérent",
)
membership_contact_id = fields.Many2one(
comodel_name="res.partner",
string="Contact Adhésion",
domain="[('parent_id', '=', id)]",
)
membership_mandate_id = fields.Many2one(
comodel_name="res.partner",
string="Contact Mandataire",
domain="[('parent_id', '=', id)]",
)
membership_delegate_id = fields.Many2one(
comodel_name="res.partner",
string="Contact Délégataire",
domain="[('parent_id', '=', id)]",
)
membership_is_delegate = fields.Boolean(
string="Personne Délégataire",
compute="_compute_membership_is_delegate",
store=True,
default=False,
)
membership_is_mandate = fields.Boolean(
string="Personne Mandataire",
compute="_compute_membership_is_mandate",
store=True,
default=False,
)
membership_is_contact = fields.Boolean(
string="Personne Contact Adhésion",
compute="_compute_membership_is_contact",
store=True,
default=False,
)
# ------------------------------------------------------
# SQL Constraints
# ------------------------------------------------------
# ------------------------------------------------------
# Default methods
# ------------------------------------------------------
# ------------------------------------------------------
# Computed fields / Search Fields
# ------------------------------------------------------
@api.depends("parent_id", "parent_id.membership_delegate_id")
def _compute_membership_is_delegate(self):
for partner in self:
if partner.parent_id.membership_delegate_id == partner:
partner.membership_is_delegate = True
@api.depends("parent_id", "parent_id.membership_mandate_id")
def _compute_membership_is_mandate(self):
for partner in self:
if partner.parent_id.membership_mandate_id == partner:
partner.membership_is_mandate = True
@api.depends("parent_id", "parent_id.membership_contact_id")
def _compute_membership_is_contact(self):
for partner in self:
if partner.parent_id.membership_contact_id == partner:
partner.membership_is_contact = True
# ------------------------------------------------------
# Onchange / Constraints
# ------------------------------------------------------
# ------------------------------------------------------
# CRUD methods (ORM overrides)
# ------------------------------------------------------
# ------------------------------------------------------
# Actions
# ------------------------------------------------------
# ------------------------------------------------------
# Business methods
# ------------------------------------------------------