From e20c2c56f04c31c62ea8c710b39e534c74a21d00 Mon Sep 17 00:00:00 2001 From: Martin Gross Date: Tue, 31 May 2022 19:23:57 +0200 Subject: [PATCH] PPv2: Surface error-messages if XHR-call fails --- .../paypal2/static/pretixplugins/paypal2/pretix-paypal.js | 7 ++++++- src/pretix/plugins/paypal2/views.py | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js b/src/pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js index 458345eb33..f1e8d0f238 100644 --- a/src/pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js +++ b/src/pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js @@ -198,7 +198,12 @@ var pretixpaypal = { }).then(function (res) { return res.json(); }).then(function (data) { - return data.id; + if ('id' in data) { + return data.id; + } else { + // Refreshing the page to surface the request-error message + location.reload(); + } }); }, onApprove: function (data, actions) { diff --git a/src/pretix/plugins/paypal2/views.py b/src/pretix/plugins/paypal2/views.py index 87d25e84f5..abdb69076b 100644 --- a/src/pretix/plugins/paypal2/views.py +++ b/src/pretix/plugins/paypal2/views.py @@ -151,7 +151,7 @@ class XHRView(View): } paypal_order = prov._create_paypal_order(request, None, cart) - r = JsonResponse(paypal_order.dict()) + r = JsonResponse(paypal_order.dict() if paypal_order else {}) r._csp_ignore = True return r