From fc26a897931627817b51927afeb306ff0d53c93f Mon Sep 17 00:00:00 2001 From: Peter Stockings Date: Tue, 14 Mar 2023 20:16:59 +1100 Subject: [PATCH] Minor cleanup --- app.py | 58 +++++++++++++++++++++++++--------------------------------- 1 file changed, 25 insertions(+), 33 deletions(-) diff --git a/app.py b/app.py index 35f9464..cad60fe 100644 --- a/app.py +++ b/app.py @@ -64,22 +64,6 @@ class CadenceReading(db.Model): power = db.Column(db.Integer, nullable=False) -def render_users_and_workouts(): - users = User.query.all() - users_data = [] - for user in users: - workouts = get_workouts_for_user(user.id) - user_data = { - 'id': user.id, - 'name': user.name, - 'bike_id': user.bike_id, - 'workouts_count': len(workouts), - 'workouts': workouts - } - users_data.append(user_data) - return render_template('users_and_workouts.html', users=users_data, bikes=Bike.query.all()) - - @app.route('/', methods=['GET']) def get_workouts(): return render_users_and_workouts() @@ -93,25 +77,17 @@ def new_workout(user_id): @app.route('/users', methods=['GET', 'POST']) def users(): - if request.method == 'GET': - # get a list of all users in the database - users = User.query.all() - users_list = [{'id': user.id, 'name': user.name, - 'workouts': len(user.workouts)} for user in users] - return jsonify(users_list), 200 + # create a new user + data = request.form + name = data['name'] + bike_id = data['bike_id'] - elif request.method == 'POST': - # create a new user - data = request.form - name = data['name'] - bike_id = data['bike_id'] + # create a new user and add it to the database + new_user = User(name=name, bike_id=bike_id) + db.session.add(new_user) + db.session.commit() - # create a new user and add it to the database - new_user = User(name=name, bike_id=bike_id) - db.session.add(new_user) - db.session.commit() - - return render_users_and_workouts() + return render_users_and_workouts() @app.route('/user/', methods=['DELETE']) @@ -217,6 +193,22 @@ def update_users_bike(user_id): return jsonify({'error': 'User or bike not found.'}), 404 +def render_users_and_workouts(): + users = User.query.all() + users_data = [] + for user in users: + workouts = get_workouts_for_user(user.id) + user_data = { + 'id': user.id, + 'name': user.name, + 'bike_id': user.bike_id, + 'workouts_count': len(workouts), + 'workouts': workouts + } + users_data.append(user_data) + return render_template('users_and_workouts.html', users=users_data, bikes=Bike.query.all()) + + def get_workouts_for_user(user_id): workouts_data = [] workouts = Workout.query.filter_by(user_id=user_id).order_by(