diff options
Diffstat (limited to 'app/routes')
| -rw-r--r-- | app/routes/api.py | 13 | ||||
| -rw-r--r-- | app/routes/user.py | 22 | ||||
| -rw-r--r-- | app/routes/workout.py | 52 |
3 files changed, 52 insertions, 35 deletions
diff --git a/app/routes/api.py b/app/routes/api.py index 58b4732..2373fa3 100644 --- a/app/routes/api.py +++ b/app/routes/api.py @@ -3,15 +3,18 @@ from flask import redirect, request from flask_login import current_user, login_required from tables import Workout -@app.route("/api/workout/delete", methods=['GET']) + +@app.route("/api/workout/delete", methods=["GET"]) @login_required def api_workout_delete(): - if 'id' not in request.args: - return redirect('/home'); + if "id" not in request.args: + return redirect("/home") - workout = Workout.query.filter_by(id=int(request.args['id']), user_id=current_user.id).first() + workout = Workout.query.filter_by( + id=int(request.args["id"]), user_id=current_user.id + ).first() if workout: db.session.delete(workout) db.session.commit() - return redirect('/home') + return redirect("/home") diff --git a/app/routes/user.py b/app/routes/user.py index d218738..7044366 100644 --- a/app/routes/user.py +++ b/app/routes/user.py @@ -2,9 +2,10 @@ from app import app, db from flask import render_template, redirect, request, url_for, flash from flask_login import current_user, login_user, login_required, logout_user from forms import LoginForm, RegisterForm -from tables import User +from tables import User -@app.route("/login", methods=['GET', 'POST']) + +@app.route("/login", methods=["GET", "POST"]) def login(): form = LoginForm() username = form.username.data @@ -17,19 +18,21 @@ def login(): # TODO: show user if login succeeded if user and user.verify_password(password): login_user(user) - return redirect(url_for('home')) + return redirect(url_for("home")) else: flash("Invalid username or password", "danger") - return render_template('user/login.html', form=form) + return render_template("user/login.html", form=form) + -@app.route("/logout", methods=['GET', 'POST']) +@app.route("/logout", methods=["GET", "POST"]) @login_required def logout(): logout_user() - return redirect('/') + return redirect("/") -@app.route("/register", methods=['GET', 'POST']) + +@app.route("/register", methods=["GET", "POST"]) def register(): form = RegisterForm() # Load data from form @@ -45,9 +48,8 @@ def register(): user = User(username, password, email) db.session.add(user) db.session.commit() - return redirect(url_for('login')) + return redirect(url_for("login")) else: flash("User already exists", "danger") - return render_template('user/register.html', form=form) - + return render_template("user/register.html", form=form) diff --git a/app/routes/workout.py b/app/routes/workout.py index 7144d40..a929a6c 100644 --- a/app/routes/workout.py +++ b/app/routes/workout.py @@ -4,7 +4,8 @@ from flask_login import current_user, login_required from forms import WorkoutCreateForm, WorkoutRecordForm from tables import User, Workout -@app.route("/workout/create", methods=['GET', 'POST']) + +@app.route("/workout/create", methods=["GET", "POST"]) @login_required def workout_create(): form = WorkoutCreateForm() @@ -15,27 +16,32 @@ def workout_create(): workout = Workout.query.filter_by(user_id=current_user.id, name=name).first() if not workout: # TODO: add exercises - workout = Workout(current_user, name, [e.data for e in form.exercises.entries]) + workout = Workout( + current_user, name, [e.data for e in form.exercises.entries] + ) db.session.add(workout) db.session.commit() - return redirect(url_for('home')); + return redirect(url_for("home")) else: flash("Workout with this name already exists", "danger") - return render_template('workout/create.html', form=form) + return render_template("workout/create.html", form=form) + -@app.route("/workout/edit", methods=['GET', 'POST']) +@app.route("/workout/edit", methods=["GET", "POST"]) @login_required def workout_edit(): # Id is required - if 'id' not in request.args: - return redirect(url_for('home')) + if "id" not in request.args: + return redirect(url_for("home")) # Validate Id - workout = Workout.query.filter_by(id=int(request.args['id']), user_id=current_user.id).first() + workout = Workout.query.filter_by( + id=int(request.args["id"]), user_id=current_user.id + ).first() if not workout: - return redirect(url_for('home')) + return redirect(url_for("home")) form = WorkoutCreateForm() @@ -47,36 +53,42 @@ def workout_edit(): # Write changes to database db.session.commit() - return redirect(url_for('home')); + return redirect(url_for("home")) else: form.name.data = workout.name - form.exercises.pop_entry() # TODO: better way to do this? + form.exercises.pop_entry() # TODO: better way to do this? for exercise in workout.exercises: form.exercises.append_entry(exercise) - return render_template('workout/create.html', form=form, title=f'Edit Workout "{workout.name}"') + return render_template( + "workout/create.html", form=form, title=f'Edit Workout "{workout.name}"' + ) -@app.route("/workout/record", methods=['GET', 'POST']) + +@app.route("/workout/record", methods=["GET", "POST"]) @login_required def workout_record(): form = WorkoutRecordForm() # Id is required - if 'id' not in request.args: - return redirect(url_for('home')) + if "id" not in request.args: + return redirect(url_for("home")) # Matching workout required - workout = Workout.query.filter_by(id=int(request.args['id']), user_id=current_user.id).first() + workout = Workout.query.filter_by( + id=int(request.args["id"]), user_id=current_user.id + ).first() if not workout: - return redirect(url_for('home')); + return redirect(url_for("home")) if form.validate_on_submit(): print(form) - return render_template('workout/record.html', workout=workout, form=form) + return render_template("workout/record.html", workout=workout, form=form) + -@app.route("/workout/select", methods=['GET']) +@app.route("/workout/select", methods=["GET"]) @login_required def workout_select(): - return render_template('workout/select.html') + return render_template("workout/select.html") |
