From 0d012bf1c2e0a702e368ce7a1dfe09e68bef3740 Mon Sep 17 00:00:00 2001
From: Gareth Coles
Date: Sun, 20 May 2018 00:18:22 +0100
Subject: [Jams] Redirect user back to form from profile page
---
pysite/views/main/jams/join.py | 2 +-
pysite/views/main/jams/profile.py | 20 +++++++++++++++++++-
templates/main/jams/profile.html | 6 +++++-
3 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/pysite/views/main/jams/join.py b/pysite/views/main/jams/join.py
index 3c45ed6e..24931f72 100644
--- a/pysite/views/main/jams/join.py
+++ b/pysite/views/main/jams/join.py
@@ -51,7 +51,7 @@ class JamsJoinView(RouteView, DBMixin, OauthMixin):
participant = self.db.get(self.participants_table, self.user_data["user_id"])
if not participant:
- return redirect(url_for("main.jams.profile"))
+ return redirect(url_for("main.jams.profile", form=jam))
if self.get_response(jam, self.user_data["user_id"]):
return self.render("main/jams/already.html", jam=jam_obj)
diff --git a/pysite/views/main/jams/profile.py b/pysite/views/main/jams/profile.py
index 407f842e..ce8dfdf1 100644
--- a/pysite/views/main/jams/profile.py
+++ b/pysite/views/main/jams/profile.py
@@ -23,8 +23,16 @@ class JamsProfileView(RouteView, DBMixin, OauthMixin):
if not participant:
participant = {"id": self.user_data["user_id"]}
+ form = request.args.get("form")
+
+ if form:
+ try:
+ form = int(form)
+ except ValueError:
+ pass # Someone trying to have some fun I guess
+
return self.render(
- "main/jams/profile.html", participant=participant
+ "main/jams/profile.html", participant=participant, form=form
)
@csrf
@@ -54,6 +62,16 @@ class JamsProfileView(RouteView, DBMixin, OauthMixin):
self.db.insert(self.table_name, participant, conflict="replace")
+ form = request.args.get("form")
+
+ if form:
+ try:
+ form = int(form)
+ except ValueError:
+ pass # Someone trying to have some fun I guess
+ else:
+ return redirect(url_for("main.jams.join", jam=form))
+
return self.render(
"main/jams/profile.html", participant=participant, done=True
)
diff --git a/templates/main/jams/profile.html b/templates/main/jams/profile.html
index 5b0ee192..efa0e274 100644
--- a/templates/main/jams/profile.html
+++ b/templates/main/jams/profile.html
@@ -28,7 +28,11 @@
{% endif %}
-