diff --git a/static/src/app/models/pos_order.js b/static/src/app/models/pos_order.js index a9ae400..bd0b53e 100644 --- a/static/src/app/models/pos_order.js +++ b/static/src/app/models/pos_order.js @@ -36,7 +36,7 @@ patch(PosOrder.prototype, { // Custom Logic for Multi-Level Membership. // Guard against recursive calls triggered when filtering all programs below. - if (program.multi_level_membership && !_checkingMultiLevel) { + if ((program.multi_level_membership || program.manual_membership || program.program_type === 'subscription') && !_checkingMultiLevel) { const partner = this.getPartner(); const membershipId = (partner && partner.membership_level_id) ? resolveManyToOneId(partner.membership_level_id) @@ -47,7 +47,7 @@ patch(PosOrder.prototype, { // Only allow them when the partner actually holds an active loyalty card // for this program — whether it's a replacement tier (Direksi) or // an add-on subscription (e.g. Makan Pagi Gratis). - if (program.manual_membership) { + if (program.manual_membership || program.program_type === 'subscription') { if (!partner) return false; const card = this.models["loyalty.card"].find( (c) => (c.partner_id?.id === partner.id || resolveManyToOneId(c.partner_id) === partner.id) &&