From 3f4d0f78751b15de1e4c3c9988df4443f5a71a9c Mon Sep 17 00:00:00 2001 From: stilbruch Date: Sat, 30 Apr 2022 18:46:43 -0500 Subject: Change some templates to use parameterized routes --- app/routes/workout.py | 33 +++++++++++++------------------- app/templates/base/layout.html | 2 +- app/templates/home.html | 2 +- app/templates/workout/record_select.html | 26 +++++++++++++++++++++++++ app/templates/workout/select.html | 26 ------------------------- 5 files changed, 41 insertions(+), 48 deletions(-) create mode 100644 app/templates/workout/record_select.html delete mode 100644 app/templates/workout/select.html diff --git a/app/routes/workout.py b/app/routes/workout.py index c8adc4e..de2fe51 100644 --- a/app/routes/workout.py +++ b/app/routes/workout.py @@ -92,18 +92,20 @@ def workout_edit(): return render_template("workout/create.html", form=form, workout=workout) -@app.route("/workout/record", methods=["GET", "POST"]) +@app.route("/workout/record") @login_required -def workout_record(): - form = WorkoutRecordForm() +def workout_record_select(): + return render_template("workout/record_select.html") - # Id is required - if "id" not in request.args: - return redirect(url_for("home")) + +@app.route("/workout/record/", methods=["GET", "POST"]) +@login_required +def workout_record(workout_id=None): + form = WorkoutRecordForm() # Matching workout required workout = Workout.query.filter_by( - id=int(request.args["id"]), user_id=current_user.id + id=int(workout_id), user_id=current_user.id ).first() if not workout: return redirect(url_for("home")) @@ -142,22 +144,13 @@ def workout_record(): return render_template("workout/record.html", workout=workout, form=form) -@app.route("/workout/select", methods=["GET"]) +@app.route("/workout/history/") @login_required -def workout_select(): - return render_template("workout/select.html") - - -@app.route("/workout/history", methods=["GET"]) -@login_required -def workout_history(): - if "id" not in request.args: - return redirect(url_for("home")) - - # Matching workout record required +def workout_history(record_id=None): record = WorkoutRecord.query.filter_by( - id=int(request.args["id"]), user_id=current_user.id + id=int(record_id), user_id=current_user.id ).first() + if not record: return redirect(url_for("home")) diff --git a/app/templates/base/layout.html b/app/templates/base/layout.html index 4da4f30..69b470d 100644 --- a/app/templates/base/layout.html +++ b/app/templates/base/layout.html @@ -47,7 +47,7 @@ - + diff --git a/app/templates/home.html b/app/templates/home.html index 235e6e7..397b54b 100644 --- a/app/templates/home.html +++ b/app/templates/home.html @@ -109,7 +109,7 @@ {{ record.workout.name }} {{ record.finished.strftime("%m/%d/%y %-I:%M %p") }} - View + View {% endfor %} diff --git a/app/templates/workout/record_select.html b/app/templates/workout/record_select.html new file mode 100644 index 0000000..aeee3e2 --- /dev/null +++ b/app/templates/workout/record_select.html @@ -0,0 +1,26 @@ +{% extends 'base/layout.html' %} + +{% block content %} +
+
+ {% for workout in current_user.workouts %} +
+
+
+

{{ workout.name }}

+
+
+
+ {% for exercise in workout.exercises %} +

{{ exercise.sets }} x {{ exercise.units }} x {{ exercise.name }}

+ {% endfor %} + Start +
+
+
+
+ {% endfor %} +
+
+ +{% endblock %} diff --git a/app/templates/workout/select.html b/app/templates/workout/select.html deleted file mode 100644 index 7109c70..0000000 --- a/app/templates/workout/select.html +++ /dev/null @@ -1,26 +0,0 @@ -{% extends 'base/layout.html' %} - -{% block content %} -
-
- {% for workout in current_user.workouts %} -
-
-
-

{{ workout.name }}

-
-
-
- {% for exercise in workout.exercises %} -

{{ exercise.sets }} x {{ exercise.units }} x {{ exercise.name }}

- {% endfor %} - Start -
-
-
-
- {% endfor %} -
-
- -{% endblock %} -- cgit v1.2.3