feat: add manual_membership field to loyalty levels to exclude them from automatic assignment

This commit is contained in:
Suherdy Yacob 2026-06-02 11:51:44 +07:00
parent 7985e9a32f
commit fde57b86ab
2 changed files with 6 additions and 1 deletions

View File

@ -13,10 +13,14 @@ class LoyaltyProgram(models.Model):
string='Minimum Spend',
help='Used as a fallback mechanism for multi-level membership if the customer does not have an explicit level assigned. The one with the lowest spend will be chosen.'
)
manual_membership = fields.Boolean(
string='Manual Membership Only',
help='If checked, this membership level must be manually assigned to the customer. It will be excluded from automatic spend-based leveling.'
)
@api.model
def _load_pos_data_fields(self, config_id):
fields_list = super()._load_pos_data_fields(config_id)
# Add custom fields so they are loaded in the POS frontend
fields_list.extend(['multi_level_membership', 'minimum_spend'])
fields_list.extend(['multi_level_membership', 'minimum_spend', 'manual_membership'])
return fields_list

View File

@ -13,6 +13,7 @@
<group>
<field name="multi_level_membership" widget="boolean_toggle"/>
<field name="minimum_spend" invisible="multi_level_membership == False"/>
<field name="manual_membership" invisible="multi_level_membership == False"/>
</group>
</group>
</page>