oca-ocb-sale/odoo-bringout-oca-ocb-sale_loyalty_delivery/sale_loyalty_delivery/models/loyalty_program.py
Ernad Husremovic 73afc09215 19.0 vanilla
2026-03-09 09:32:12 +01:00

35 lines
1.1 KiB
Python

# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import _, api, models
class LoyaltyProgram(models.Model):
_inherit = 'loyalty.program'
@api.model
def _program_type_default_values(self):
res = super()._program_type_default_values()
# Add a loyalty reward for free shipping
if 'loyalty' in res:
res['loyalty']['reward_ids'].append((0, 0, {
'reward_type': 'shipping',
'required_points': 100,
}))
return res
@api.model
def get_program_templates(self):
# Override 'promotion' template to say free shipping
res = super().get_program_templates()
if 'promotion' in res:
res['promotion']['description'] = _("Automatic promotion: free shipping on orders higher than $50")
return res
@api.model
def _get_template_values(self):
res = super()._get_template_values()
if 'promotion' in res:
res['promotion']['reward_ids'] = [(5, 0, 0), (0, 0, {
'reward_type': 'shipping',
})]
return res