Don't put None in return URLs for bank transfer payments
authorMagnus Hagander <magnus@hagander.net>
Thu, 11 Oct 2018 11:06:07 +0000 (13:06 +0200)
committerMagnus Hagander <magnus@hagander.net>
Thu, 11 Oct 2018 11:06:07 +0000 (13:06 +0200)
None got turned into the string None, and then put in the URL, which
means the return URL was simply broken. In the case where there is no
return url, the link shouldn't be there at all.

postgresqleu/invoices/views.py
postgresqleu/util/payment/banktransfer.py

index 9510e78ce2cc369c887e26e4e77dad5c109e0fb2..13d3952c7b04d892d9637db88478126f9908d00f 100644 (file)
@@ -403,11 +403,14 @@ def userhome(request):
 
 @login_required
 def banktransfer(request):
-       return render(request, 'invoices/banktransfer.html', {
+       param = {
                        'title': request.GET['title'],
                        'amount': request.GET['amount'],
-                       'returnurl': request.GET['ret'],
-                       })
+       }
+       if request.GET.has_key('ret'):
+               param['returnurl'] = request.GET['ret']
+
+       return render(request, 'invoices/banktransfer.html', param)
 
 @login_required
 @transaction.atomic
index ea76a7c2610c1acbec76340cfbde26976327bd92..c91cce4347440d088972977131e106666d6ad624 100644 (file)
@@ -11,6 +11,7 @@ payment in Euros, and requires you to cover all transfer charges.
                param = {
                        'title': invoicestr.encode('utf-8'),
                        'amount': invoiceamount,
-                       'ret': returnurl,
                        }
+               if returnurl:
+                       param['ret'] = returnurl
                return "/invoices/banktransfer/?%s" % urlencode(param)