feat: skip automatic Silver membership assignment if membership_level_id is already provided

This commit is contained in:
Suherdy Yacob 2026-06-04 09:22:38 +07:00
parent 7f667f2855
commit d7de65e2aa

View File

@ -61,6 +61,12 @@ class ResPartner(models.Model):
if partner.is_company: if partner.is_company:
continue 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 # Find Membership Silver first, then fall back to lowest spend program
lowest_program = self.env['loyalty.program'].sudo().search( lowest_program = self.env['loyalty.program'].sudo().search(
[('multi_level_membership', '=', True), ('manual_membership', '=', False), ('name', '=ilike', 'Membership Silver')], [('multi_level_membership', '=', True), ('manual_membership', '=', False), ('name', '=ilike', 'Membership Silver')],