By default only load 5 most recent workouts for list, but on click of button at bottom load them all
This commit is contained in:
19
app.py
19
app.py
@@ -287,6 +287,14 @@ def calendar_view(user_id):
|
||||
return render_template('partials/calendar.html', calendar_month=calendar_month, user_id=user_id)
|
||||
|
||||
|
||||
@ app.route("/user/<int:user_id>/workout/list", methods=['GET'])
|
||||
def workout_list(user_id):
|
||||
max_date = request.args.get(
|
||||
'min_date', default=datetime.now().date(), type=toDate)
|
||||
workouts = get_workouts_for_user(user_id, max_date=max_date)
|
||||
return render_template('partials/workouts_list_fragment.html', workouts=workouts, user_id=user_id)
|
||||
|
||||
|
||||
def render_users_and_workouts():
|
||||
users = User.query.all()
|
||||
users_data = []
|
||||
@@ -356,11 +364,16 @@ def render_users_and_workouts():
|
||||
return render_template('users_and_workouts.html', users=users_data, bikes=Bike.query.all())
|
||||
|
||||
|
||||
def get_workouts_for_user(user_id):
|
||||
def get_workouts_for_user(user_id, max_date=None):
|
||||
user = User.query.get(user_id)
|
||||
workouts_data = []
|
||||
workouts = Workout.query.filter_by(user_id=user_id).order_by(
|
||||
Workout.created_at.desc()).all()
|
||||
workouts = []
|
||||
if max_date:
|
||||
workouts = Workout.query.filter_by(user_id=user_id).filter(
|
||||
Workout.started_at < max_date).order_by(Workout.created_at.desc()).all()
|
||||
else:
|
||||
workouts = Workout.query.filter_by(user_id=user_id).order_by(
|
||||
Workout.created_at.desc()).all()
|
||||
|
||||
for workout in workouts:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user