diff --git a/app.py b/app.py index dfff2d7..b912130 100644 --- a/app.py +++ b/app.py @@ -119,7 +119,6 @@ def logout(): # Create a new route @app.route('/') def index(): - if current_user.is_authenticated: habits = current_user.get_habits() name = "Hallo " + current_user.name @@ -173,7 +172,7 @@ def habit_creation(): return render_template( 'habit.html', title='Erstelle ein Habit', - unit=1, + unit="Woche", errors={}, ) @@ -251,6 +250,50 @@ def habit_create(): )""" +@app.route('/profile') +@login_required +def profile(): + return render_template( + "profile.html", + name=current_user.name, + email=current_user.email, + errors={} + ) + + +@app.route('/profile', methods=['POST']) +@login_required +def profile_change(): + newName = request.form.get('newName') + newEmail = request.form.get('newEmail') + newPassword = request.form.get('newPassword') + oldPassword = request.form.get('oldPassword') + + # Check for errors + errors = {} + if not newName and not newEmail and not newPassword: + errors['newName'] = 'Mindestens eine Änderung muss erfolgen.' + errors['newEmail'] = 'Mindestens eine Änderung muss erfolgen.' + errors['newPassword'] = 'Mindestens eine Änderung muss erfolgen.' + if not oldPassword: + errors['oldPassword'] = 'Du musst dein aktuelles Passwort angeben.' + + print(errors) + if errors: + return render_template( + "profile.html", + name=current_user.name, + email=current_user.email, + errors=errors + ) + + # Save habit to database + # habit = Habit.create(current_user.id, name, times, note, unit) + + # Back to index + return redirect(url_for('index')) + + @app.route('/check', methods=['POST']) @login_required def check_habit(): diff --git a/templates/habit.html b/templates/habit.html index 71b81ba..847dad7 100644 --- a/templates/habit.html +++ b/templates/habit.html @@ -7,14 +7,14 @@
- +
{{ errors.get('name', '') }}
- +
{{ errors.get('note', '') }}
@@ -23,7 +23,7 @@
- +
{{ errors.get('times', '') }}
@@ -31,12 +31,23 @@
+
{{ errors.get('unit', '') }}
diff --git a/templates/layouts/main.html b/templates/layouts/main.html index 26465fa..6d1ed0a 100644 --- a/templates/layouts/main.html +++ b/templates/layouts/main.html @@ -9,7 +9,7 @@ - + @@ -35,6 +35,9 @@ Signup {% else %} + diff --git a/templates/profile.html b/templates/profile.html new file mode 100644 index 0000000..206a599 --- /dev/null +++ b/templates/profile.html @@ -0,0 +1,46 @@ +{% extends 'layouts/main.html' %} + +{% block content %} + +

Account Einstellungen👤

+ + + +
+ + +
+ {{ errors.get('newName', '') }} +
+
+ +
+ + +
+ {{ errors.get('newEmail', '') }} +
+
+ +
+ + +
+ {{ errors.get('newPassword', '') }} +
+
+ +
+ + +
+ {{ errors.get('oldPassword', '') }} +
+
+ + + + + + +{% endblock %} \ No newline at end of file