Make stats refresh, and add filter support to stats endpoint
This commit is contained in:
19
app.py
19
app.py
@@ -115,9 +115,9 @@ def get_person(person_id):
|
||||
person['ExerciseProgressGraphs'] = list(filter(lambda e: e['ExerciseId'] in selected_exercise_ids, person['ExerciseProgressGraphs']))
|
||||
|
||||
if htmx:
|
||||
return render_block(app.jinja_env, 'person.html', 'content', person=person, selected_exercise_ids=selected_exercise_ids, max_date=max_date, min_date=min_date, tags=tags), 200, {"HX-Trigger": "updatedPeople"}
|
||||
return render_block(app.jinja_env, 'person.html', 'content', person=person, selected_exercise_ids=selected_exercise_ids, max_date=max_date, min_date=min_date, tags=tags), 200, {"HX-Trigger": "refreshStats"}
|
||||
|
||||
return render_template('person.html', person=person, selected_exercise_ids=selected_exercise_ids, max_date=max_date, min_date=min_date, tags=tags), 200, {"HX-Trigger": "updatedPeople"}
|
||||
return render_template('person.html', person=person, selected_exercise_ids=selected_exercise_ids, max_date=max_date, min_date=min_date, tags=tags), 200, {"HX-Trigger": "refreshStats"}
|
||||
|
||||
@ app.route("/person/<int:person_id>/workout/overview", methods=['GET'])
|
||||
def person_overview(person_id):
|
||||
@@ -148,9 +148,9 @@ def person_overview(person_id):
|
||||
}
|
||||
|
||||
if htmx:
|
||||
return render_block(app.jinja_env, 'person_overview.html', 'content', **render_args)
|
||||
return render_block(app.jinja_env, 'person_overview.html', 'content', **render_args), 200, {"HX-Trigger": "refreshStats"}
|
||||
|
||||
return render_template('person_overview.html', **render_args)
|
||||
return render_template('person_overview.html', **render_args), 200, {"HX-Trigger": "refreshStats"}
|
||||
|
||||
@ app.route("/person/<int:person_id>/calendar")
|
||||
@ validate_person
|
||||
@@ -167,8 +167,8 @@ def get_calendar(person_id):
|
||||
calendar_view = db.calendar.fetch_workouts_for_person(person_id, selected_date, selected_view)
|
||||
|
||||
if htmx:
|
||||
return render_block(app.jinja_env, 'calendar.html', 'content', **calendar_view), 200, {"HX-Push-Url": url_for('get_calendar', person_id=person_id, view=selected_view, date=selected_date)}
|
||||
return render_template('calendar.html', **calendar_view), 200, {"HX-Push-Url": url_for('get_calendar', person_id=person_id, view=selected_view, date=selected_date)}
|
||||
return render_block(app.jinja_env, 'calendar.html', 'content', **calendar_view), 200, {"HX-Push-Url": url_for('get_calendar', person_id=person_id, view=selected_view, date=selected_date), "HX-Trigger": "refreshStats"}
|
||||
return render_template('calendar.html', **calendar_view), 200, {"HX-Push-Url": url_for('get_calendar', person_id=person_id, view=selected_view, date=selected_date), "HX-Trigger": "refreshStats"}
|
||||
|
||||
@ app.route("/person/<int:person_id>/notes", methods=['GET'])
|
||||
@ validate_person
|
||||
@@ -450,8 +450,11 @@ def get_exercise_progress_for_user(person_id, exercise_id):
|
||||
|
||||
@app.route("/stats/person/<int:person_id>", methods=['GET'])
|
||||
def get_stats_for_person(person_id):
|
||||
stats = db.stats.fetch_stats_for_person(person_id)
|
||||
return render_template('partials/stats.html', stats=stats)
|
||||
min_date = request.args.get('min_date', type=convert_str_to_date)
|
||||
max_date = request.args.get('max_date', type=convert_str_to_date)
|
||||
selected_exercise_ids = request.args.getlist('exercise_id', type=int)
|
||||
stats = db.stats.fetch_stats_for_person(person_id, min_date, max_date, selected_exercise_ids)
|
||||
return render_template('partials/stats.html', stats=stats, refresh_url=request.full_path)
|
||||
|
||||
@ app.route("/person/<int:person_id>/workout/<int:workout_id>", methods=['GET'])
|
||||
def show_workout(person_id, workout_id):
|
||||
|
||||
Reference in New Issue
Block a user