diff --git a/models/loyalty_program.py b/models/loyalty_program.py index bbc03ef..22fb8c9 100644 --- a/models/loyalty_program.py +++ b/models/loyalty_program.py @@ -50,6 +50,12 @@ class LoyaltyProgram(models.Model): if len(vals) == 1 and 'state' in vals: return super().write(vals) + # Skip reset logic if Odoo is installing/upgrading modules or explicitly bypassed + if (self.env.context.get('install_mode') + or self.env.context.get('module') + or self.env.context.get('no_marketing_reset')): + return super().write(vals) + # For modifications, check if they are in pending/approved state programs_to_reset = self.filtered(lambda p: p.state in ['pending', 'approved']) if programs_to_reset: