]> git.ipfire.org Git - ipfire.org.git/commitdiff
donations: Add URLs to redirect user back
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 23 Jul 2018 16:28:40 +0000 (17:28 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 23 Jul 2018 16:28:40 +0000 (17:28 +0100)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/web/handlers.py

index c5cfb68077018c3d37696cb710a3fc22d80e2fdd..dfa05369cc4051307aa1d5dc212772c085b31d07 100644 (file)
@@ -66,14 +66,17 @@ class DonateHandler(BaseHandler):
 
        @tornado.gen.coroutine
        def post(self):
+               amount    = self.get_argument("amount")
+               currency  = self.get_argument("currency", "EUR")
+               frequency = self.get_argument("frequency")
+
                # Get form inputs
                args = {
-                       "amount"       : self.get_argument("amount"),
-                       "currency"     : self.get_argument("currency", "EUR"),
-                       "method"       : self.get_argument("method", None),
+                       "amount"       : amount,
+                       "currency"     : currency,
 
                        # Is this a recurring donation?
-                       "recurring"    : self.get_argument("frequency") == "monthly",
+                       "recurring"    : frequency == "monthly",
 
                        # Address
                        "email"        : self.get_argument("email"),
@@ -89,6 +92,14 @@ class DonateHandler(BaseHandler):
                        "country_code" : self.get_argument("country_code"),
                }
 
+               # Add URLs to redirect the user back
+               args.update({
+                       "success_url"  : "https://%s/donate/thank-you" % self.request.host,
+                       "error_url"    : "https://%s/donate/error" % self.request.host,
+                       "back_url"     : "https://%s/donate?amount=%s&currency=%s&frequency=%s" %
+                               (self.request.host, amount, currency, frequency),
+               })
+
                # Send request to Zeiterfassung
                try:
                        response = yield self.backend.zeiterfassung.send_request(