From ede80f1eb061dc38775f55740215b19f59c1418c Mon Sep 17 00:00:00 2001
From: Javier Etxarri <javier.echarri@openbravo.com>
Date: Fri, 12 Nov 2021 15:18:19 +0100
Subject: [PATCH] Fixes issue NOE-3887: [VAT] Gift card payment : error message
 & gift card not debited

---
 web/org.openbravo.retail.giftcards/js/model/GiftCardUtils.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/web/org.openbravo.retail.giftcards/js/model/GiftCardUtils.js b/web/org.openbravo.retail.giftcards/js/model/GiftCardUtils.js
index 2bacc1e..14e216e 100644
--- a/web/org.openbravo.retail.giftcards/js/model/GiftCardUtils.js
+++ b/web/org.openbravo.retail.giftcards/js/model/GiftCardUtils.js
@@ -234,7 +234,7 @@
       !isMultiOrder &&
       !receipt.get('isEditable') &&
       !receipt.get('cancelLayaway') &&
-      card.type !== 'BasedOnGLItem'
+      (card.type !== 'BasedOnGLItem' && card.type !== 'BasedOnProductGiftCard')
     ) {
       keyboard.doShowPopup({
         popup: 'modalNotEditableOrder'
-- 
2.31.0

From cff2993a5feb03b6fa9c512c8ad5cc2c119962d5 Mon Sep 17 00:00:00 2001
From: Javier Etxarri <javier.echarri@openbravo.com>
Date: Mon, 15 Nov 2021 15:51:37 +0100
Subject: [PATCH] Fixes issue NOE-3887: ForceTaxes calculation

---
 .../js/model/GiftCardUtils.js                          | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/web/org.openbravo.retail.giftcards/js/model/GiftCardUtils.js b/web/org.openbravo.retail.giftcards/js/model/GiftCardUtils.js
index 14e216e..a093252 100644
--- a/web/org.openbravo.retail.giftcards/js/model/GiftCardUtils.js
+++ b/web/org.openbravo.retail.giftcards/js/model/GiftCardUtils.js
@@ -245,6 +245,16 @@
       return;
     }
 
+    if (
+      !isMultiOrder &&
+      !receipt.get('isEditable') &&
+      !receipt.get('cancelLayaway') &&
+      card.type === 'BasedOnProductGiftCard'
+    ) {
+      //This is necessary because however method calculateTaxes will throw an error
+      receipt.set('forceCalculateTaxes', true);
+    }
+
     if (receipt.getPaymentStatus().isNegative && !isMultiOrder && !isReturn) {
       amount = -1 * amount;
     }
-- 
2.31.0

