Skip to content
Extraits de code Groupes Projets
Sélectionner une révision Git
  • ddc50c4b4c68bd28a2327d0a28a95789c6011f69
  • 14.0 par défaut
  • 12.0 protégée
  • 13.0
  • 12.0-lm-00 protégée
5 résultats

res_partner_newsletter.py

Blame
  • 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
        # ------------------------------------------------------