From d7de65e2aa9b07f3249798552be6b781d828e1c4 Mon Sep 17 00:00:00 2001 From: Suherdy Yacob Date: Thu, 4 Jun 2026 09:22:38 +0700 Subject: [PATCH] feat: skip automatic Silver membership assignment if membership_level_id is already provided --- models/res_partner.py | 6 ++++++ 1 file changed, 6 insertions(+) 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')],