Add logic to handle adding/creating new tags for workouts

This commit is contained in:
Peter Stockings
2023-08-06 22:15:36 +10:00
parent 5ccb1f1905
commit fdbb60b490
5 changed files with 201 additions and 104 deletions

18
app.py
View File

@@ -167,7 +167,9 @@ def get_calendar(person_id):
@ validate_workout
def get_workout_modal(person_id, workout_id):
workout = db.get_workout(person_id, workout_id)
return render_template('partials/workout_modal.html', workout=workout)
(person_tags, workout_tags, selected_workout_tag_ids) = db.get_workout_tags(
person_id, workout_id)
return render_template('partials/workout_modal.html', workout=workout, person_tags=person_tags, workout_tags=workout_tags, selected_workout_tag_ids=selected_workout_tag_ids)
@ app.route("/person/<int:person_id>/workout", methods=['POST'])
@@ -384,6 +386,20 @@ def get_workout_note(person_id, workout_id):
return render_template('partials/workout_note.html', person_id=person_id, workout_id=workout_id, note=workout['Note'])
@ app.route("/person/<int:person_id>/workout/<int:workout_id>/tag/add", methods=['POST'])
def add_tag_to_workout(person_id, workout_id):
tags_id = [int(i) for i in request.form.getlist('tag_id')]
workout_tags = db.add_tag_for_workout(workout_id, tags_id)
return render_template('partials/workout_tags_list.html', workout_tags=workout_tags)
@ app.route("/person/<int:person_id>/workout/<int:workout_id>/tag/new", methods=['POST'])
def create_new_tag_for_workout(person_id, workout_id):
tag_name = request.form.get('tag_name')
workout_tags = db.create_tag_for_workout(person_id, workout_id, tag_name)
return render_template('partials/workout_tags_list.html', workout_tags=workout_tags)
@app.teardown_appcontext
def closeConnection(exception):
db.close_connection()