From 52a517ca74e563a0ad5538e8a7fc1fe19528856c Mon Sep 17 00:00:00 2001
From: "Loan (lse)" <lse@odoo.com>
Date: Mon, 14 Nov 2022 17:17:59 +0000
Subject: [PATCH] [FIX] pos_adyen: JS error in loop if deleted Adyen payment
 line

Before this commit:
 If we remove a payment line using an Adyen payment method,
 `pending_adyen_line()` return `undefined`.
 With the `_poll_for_response` still being executed,
 it will pop some JS traceback each call with:
 ```js
 TypeError: Cannot read properties of undefined (reading 'terminalServiceId')
 ```

After this commit:
 No JS traceback loop

OPW-3032391

closes odoo/odoo#105716

Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
---
 addons/pos_adyen/static/src/js/payment_adyen.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/addons/pos_adyen/static/src/js/payment_adyen.js b/addons/pos_adyen/static/src/js/payment_adyen.js
index 486d1b1bac30..ca25373094d9 100644
--- a/addons/pos_adyen/static/src/js/payment_adyen.js
+++ b/addons/pos_adyen/static/src/js/payment_adyen.js
@@ -212,7 +212,7 @@ var PaymentAdyen = PaymentInterface.extend({
         }).then(function (status) {
             var notification = status.latest_response;
             var order = self.pos.get_order();
-            var line = self.pending_adyen_line();
+            var line = self.pending_adyen_line() || resolve(false);
 
             if (notification && notification.SaleToPOIResponse.MessageHeader.ServiceID == line.terminalServiceId) {
                 var response = notification.SaleToPOIResponse.PaymentResponse.Response;
-- 
GitLab