diff --git a/models/res_partner.py b/models/res_partner.py index e9d416e..114d107 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -61,6 +61,12 @@ class ResPartner(models.Model): if partner.is_company: continue + # If membership_level_id was explicitly set in the create vals + # (e.g. by the XMLRPC migration script), skip auto-Silver entirely. + # The caller is responsible for creating the correct loyalty card. + if partner.membership_level_id: + continue + # Find Membership Silver first, then fall back to lowest spend program lowest_program = self.env['loyalty.program'].sudo().search( [('multi_level_membership', '=', True), ('manual_membership', '=', False), ('name', '=ilike', 'Membership Silver')],