Files
a-dog-a-pet/app/users/routes.py

41 lines
1.4 KiB
Python

from flask import redirect, request, render_template, session
from app.services.user_service import UserService
from app.users import bp
from app.utils.form_errors_dict import FORM_ERRORS
from app.utils.helpers import login_required
@bp.route('/', methods=["GET", "POST"])
@login_required
def index():
user = UserService.get_user()
if user is None:
return redirect("login")
user = user[0]
if request.method == 'POST':
if request.form.get("password_update"):
UserService.update_password(request.form, user)
elif request.form.get("personal_information"):
UserService.update_personal_info(request.form, user)
return render_template("users/index.html",user=user,FORM_ERRORS=FORM_ERRORS)
@bp.route('/login', methods=["GET", "POST"])
def login():
if request.method == 'POST':
if UserService.login(request.form):
return redirect("/users/")
return render_template("users/login.html", FORM_ERRORS=FORM_ERRORS)
@bp.route('/logout')
def logout():
session.clear()
return redirect("/")
@bp.route('/register', methods=["GET", "POST"])
def register():
if session.get('id') is not None:
return redirect("/users/")
if request.method == 'POST':
if UserService.register_user(request.form):
return redirect("/users/")
return render_template("users/register.html", FORM_ERRORS=FORM_ERRORS)