From 787009656ec2dc082a6c36c1b2b89bf0a9e424e4 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Thu, 25 Jul 2019 16:37:41 +0200 Subject: [PATCH] better reload on 3DSecure auth failure --- rowers/templates/braintreedropin.html | 9 +++++++++ rowers/urls.py | 1 + rowers/views/otherviews.py | 9 +++++++++ 3 files changed, 19 insertions(+) diff --git a/rowers/templates/braintreedropin.html b/rowers/templates/braintreedropin.html index 30942f31..add5cf9a 100644 --- a/rowers/templates/braintreedropin.html +++ b/rowers/templates/braintreedropin.html @@ -42,7 +42,16 @@ // payment method if liablity was not shifted instance.clearSelectedPaymentMethod(); paymenterrordiv.innerHTML = '

3D Secure Card Verification Error. Please check your card details.

'; + var xhr = new XMLHttpRequest(); + console.log('preparing message'); + xhr.open('GET','/rowers/errormessage/3dsecure/'); + console.log('sending message'); + xhr.send(); + console.log('message sent'); + xhr.onreadystatechange = function() { + console.log('reloading'); window.location.reload(); + }; } }); diff --git a/rowers/urls.py b/rowers/urls.py index caa3f668..2b20469d 100644 --- a/rowers/urls.py +++ b/rowers/urls.py @@ -511,6 +511,7 @@ urlpatterns = [ # re_path(r'^videos', TemplateView.as_view(template_name='videos.html'),name='videos'), re_path(r'^analysis/user/(?P\d+)/$', views.analysis_view,name='analysis'), re_path(r'^laboratory/user/(?P\d+)/$', views.laboratory_view,name='laboratory'), + re_path(r'^errormessage/(?P[\w\ ]+.*)/$',views.errormessage_view,name='errormessage_view'), re_path(r'^analysis/$', views.analysis_view,name='analysis'), re_path(r'^laboratory/$', views.laboratory_view,name='laboratory'), re_path(r'^promembership', TemplateView.as_view(template_name='promembership.html'),name='promembership'), diff --git a/rowers/views/otherviews.py b/rowers/views/otherviews.py index b2e74531..2d35ff28 100644 --- a/rowers/views/otherviews.py +++ b/rowers/views/otherviews.py @@ -5,6 +5,15 @@ from __future__ import unicode_literals from rowers.views.statements import * +@login_required() +def errormessage_view(request,errormessage='aap'): + if (errormessage=='3dsecure'): + errormessage = '3D Secure Card Verification Error. Please check your card details.' + messages.error(request,errormessage) + + return JSONResponse({ + "result":1, + }) @login_required() def deactivate_user(request):