diff options
author | 2018-05-20 00:18:22 +0100 | |
---|---|---|
committer | 2018-05-20 00:18:22 +0100 | |
commit | 0d012bf1c2e0a702e368ce7a1dfe09e68bef3740 (patch) | |
tree | d465d4664d651dd0d9bb81fad8ac0e0545082083 | |
parent | [Jams] Fix infraction table display when user is not on server (diff) |
[Jams] Redirect user back to form from profile page
-rw-r--r-- | pysite/views/main/jams/join.py | 2 | ||||
-rw-r--r-- | pysite/views/main/jams/profile.py | 20 | ||||
-rw-r--r-- | 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 @@ </p> {% endif %} - <form class="uk-form-horizontal" action="{{ url_for("main.jams.profile") }}" method="post"> + {% if form %} + <form class="uk-form-horizontal" action="{{ url_for("main.jams.profile", form=form) }}" method="post"> + {% else %} + <form class="uk-form-horizontal" action="{{ url_for("main.jams.profile") }}" method="post"> + {% endif %} <div> <div class="uk-form-label"> <label class="uk-form-label" for="dob">Date of Birth</label> |