Refactor login_required and add auth blueprint

Moved the login_required logic to a new utils.py for reuse. Added a new auth blueprint and registered it in app.py. Updated user blueprint to use the shared login_required function.
This commit is contained in:
2025-08-11 17:33:47 +02:00
parent cd9ae72864
commit ea2ea27d9e
4 changed files with 28 additions and 4 deletions

View File

@@ -0,0 +1,13 @@
from flask import (
Blueprint,
)
from application.utils import login_required
bp = Blueprint(
"user",
__name__,
template_folder="templates",
)
bp.before_request(login_required)

View File

@@ -12,6 +12,7 @@ from application import db
from forms import FoodItemForm
from models import FoodItem, FoodLog
from datetime import datetime, timezone, timedelta
from application.utils import login_required
user_bp = Blueprint(
"user",
@@ -20,10 +21,7 @@ user_bp = Blueprint(
)
@user_bp.before_request
def login_required():
if not current_user.is_authenticated:
return redirect(url_for("login"))
user_bp.before_request(login_required)
@user_bp.route("/dashboard", methods=["GET"])

11
application/utils.py Normal file
View File

@@ -0,0 +1,11 @@
from flask_login import current_user
from flask import redirect, url_for, flash
def login_required():
if not current_user.is_authenticated:
return redirect(url_for("auth.login"))
if current_user.must_change_password:
flash("You have to change your password")
return redirect(url_for("auth.change_password"))
return