diff --git a/website_membership_registration/models/res_partner.py b/website_membership_registration/models/res_partner.py index 9e74c8e..68a9c7a 100644 --- a/website_membership_registration/models/res_partner.py +++ b/website_membership_registration/models/res_partner.py @@ -68,7 +68,7 @@ def _compute_membership_group_ids(self): ) return res - @api.constrains("email", "membership_state") + @api.constrains("email", "membership_state", "active") def _check_mail_unique(self): for partner in self: if not partner.email or partner.membership_state == "none": @@ -78,9 +78,10 @@ def _check_mail_unique(self): self.env.cr.execute( """ SELECT id FROM res_partner - WHERE email ILIKE %s + WHERE LOWER(email) = LOWER(%s) AND id != %s AND membership_state != 'none' + AND active = TRUE LIMIT 1 """, (partner.email, partner.id),