41 lines
1.4 KiB
Python
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)
|