Odoo Mindscape. Understand Odoo faster. Explore modules, fields, dependencies and version differences in one place instead of digging through the source code.

Module: Partner Email Duplicate Warn

Entity: res.partner

Compute Method: _compute_same_email_partner_ids

Inputs Method Outputs
  • email
  • company_id
  • company_id.id
  • id
for partner in self:
            same_email_partner_ids = []
            if partner.email and partner.email.strip():
                partner_email = partner.email.strip().lower()
                domain = [("email", "=ilike", "%" + partner_email + "%")]
                if partner.company_id:
                    domain += [
                        "|",
                        ("company_id", "=", False),
                        ("company_id", "=", partner.company_id.id),
                    ]
                partner_id = partner._origin.id
                if partner_id:
                    domain += [
                        ("id", "!=", partner_id),
                        "!",
                        ("id", "child_of", partner_id),
                        "!",
                        ("id", "parent_of", partner_id),
                    ]
                search_partners = self.with_context(active_test=False).search(domain)
                for search_partner in search_partners:
                    if (
                        search_partner.email
                        and search_partner.email.strip().lower() == partner_email
                    ):
                        same_email_partner_ids.append(search_partner.id)
            partner.same_email_partner_ids = same_email_partner_ids or False

Back to entity