diff --git a/app.py b/app.py index b946972..e06dfdd 100644 --- a/app.py +++ b/app.py @@ -91,10 +91,38 @@ def delete_topset(person_id, workout_id, topset_id): return redirect(url_for('get_workout', person_id=person_id, workout_id=workout_id)) +@ app.route("/person", methods=['POST']) +def create_person(): + name = request.form.get("name") + db.create_person(name) + return redirect(url_for('settings')) + + +@ app.route("/person//delete", methods=['GET', 'POST']) +def delete_person(person_id): + db.delete_person(person_id) + return redirect(url_for('settings')) + + +@ app.route("/exercise", methods=['POST']) +def create_exercise(): + name = request.form.get("name") + db.create_exercise(name) + return redirect(url_for('settings')) + + +@ app.route("/exercise//delete", methods=['GET', 'POST']) +def delete_exercise(exercise_id): + db.delete_exercise(exercise_id) + return redirect(url_for('settings')) + + @ app.route("/settings") @ swag_from('swagger/dashboard.yml') def settings(): - return render_template('settings.html') + people = db.get_people() + exercises = db.get_exercises() + return render_template('settings.html', people=people, exercises=exercises) @ app.context_processor diff --git a/db.py b/db.py index 1023872..c59969f 100644 --- a/db.py +++ b/db.py @@ -43,11 +43,36 @@ class DataBase(): 'SELECT ExerciseId AS "ExerciseId", Name AS "Name" FROM Exercise') return [{"ExerciseId": e['ExerciseId'], "Name": e['Name']} for e in exercises] + def create_exercise(self, name): + self.execute('INSERT INTO Exercise (Name) VALUES (%s)', + [name], commit=True) + + def delete_exercise(self, exercise_id): + self.execute('DELETE FROM Exercise WHERE ExerciseId=%s', [ + exercise_id], commit=True) + + def get_people(self): + people = self.execute( + 'SELECT PersonId AS "PersonId", Name AS "Name" FROM Person') + return people + def get_person(self, person_id): person = self.execute( 'SELECT PersonId AS "PersonId" FROM Person WHERE PersonId=%s LIMIT 1', [person_id], one=True) return person + def create_person(self, name): + self.execute('INSERT INTO Person (Name) VALUES (%s)', + [name], commit=True) + + def delete_person(self, person_id): + self.execute('DELETE FROM TopSet WHERE WorkoutId IN (SELECT WorkoutId FROM Workout WHERE PersonId=%s)', [ + person_id], commit=True) + self.execute('DELETE FROM Workout WHERE PersonId=%s', + [person_id], commit=True) + self.execute('DELETE FROM Person WHERE PersonId=%s', + [person_id], commit=True) + def get_workout(self, person_id, workout_id): workout = self.execute('SELECT W.WorkoutId AS "WorkoutId" FROM Person P, Workout W WHERE P.PersonId=W.PersonId AND P.PersonId=%s AND W.WorkoutId=%s LIMIT 1', [ person_id, workout_id], one=True) diff --git a/templates/settings.html b/templates/settings.html index 14123ee..f96ea5b 100644 --- a/templates/settings.html +++ b/templates/settings.html @@ -31,34 +31,22 @@ + {% for p in people %} - 1 + {{ loop.index }} - Gabe + {{ p['Name'] }} - - Remove - - - - - - 2 - - - Michael - - - Remove + {% endfor %} @@ -66,7 +54,7 @@ -
+
@@ -172,7 +134,7 @@
- +