From d4be21d4c5cd2271f8eb5b0546125f297f03da91 Mon Sep 17 00:00:00 2001 From: rhe-odoo Date: Wed, 20 Apr 2022 12:42:37 +0000 Subject: [PATCH] [FIX] pos_loyalty: fix gift card It was impossible to create a new gift card or pay with a gift card from the front end. With this fix, it's possible to use a gift card code in the front end and to generate a new gift card. The gift card product is now available in the pos. closes odoo/odoo#89999 X-original-commit: 2a9b6a763b11084735cf46ac9aa83b39098b958c Signed-off-by: Masereel Pierre --- addons/pos_loyalty/__manifest__.py | 1 + addons/pos_loyalty/data/gift_card_data.xml | 47 ++------------------- addons/pos_loyalty/static/src/js/Loyalty.js | 2 +- 3 files changed, 5 insertions(+), 45 deletions(-) diff --git a/addons/pos_loyalty/__manifest__.py b/addons/pos_loyalty/__manifest__.py index 7074f2e7072..15d385d7c78 100644 --- a/addons/pos_loyalty/__manifest__.py +++ b/addons/pos_loyalty/__manifest__.py @@ -12,6 +12,7 @@ 'data': [ 'security/ir.model.access.csv', 'data/default_barcode_patterns.xml', + 'data/gift_card_data.xml', 'views/loyalty_card_views.xml', 'views/loyalty_mail_views.xml', 'views/pos_config_views.xml', diff --git a/addons/pos_loyalty/data/gift_card_data.xml b/addons/pos_loyalty/data/gift_card_data.xml index dd676c142b0..ac54a23d0fb 100644 --- a/addons/pos_loyalty/data/gift_card_data.xml +++ b/addons/pos_loyalty/data/gift_card_data.xml @@ -1,48 +1,7 @@ - - - Gift Card - loyalty.card - qweb-pdf - sale_loyalty.gift_card_template - report - + + True + - - diff --git a/addons/pos_loyalty/static/src/js/Loyalty.js b/addons/pos_loyalty/static/src/js/Loyalty.js index 5baf8775589..6ed8ee893b6 100644 --- a/addons/pos_loyalty/static/src/js/Loyalty.js +++ b/addons/pos_loyalty/static/src/js/Loyalty.js @@ -1055,6 +1055,7 @@ const PosLoyaltyOrder = (Order) => class PosLoyaltyOrder extends Order { pointCost = Math.min(maxDiscount, discountable) / reward.discount; } // These are considered payments and do not require to be either taxed or split by tax + const discountProduct = reward.discount_line_product_id; if (['ewallet', 'gift_card'].includes(reward.program_id.program_type)) { return [{ product: discountProduct, @@ -1069,7 +1070,6 @@ const PosLoyaltyOrder = (Order) => class PosLoyaltyOrder extends Order { }]; } const discountFactor = discountable ? Math.min(1, (maxDiscount / discountable)) : 1; - const discountProduct = reward.discount_line_product_id; const result = Object.entries(discountablePerTax).reduce((lst, entry) => { const taxIds = entry[0] === '' ? [] : entry[0].split(',').map((str) => parseInt(str)); lst.push({