From 046ca3f3776718ff59fa2a971cc082c0813a8caf Mon Sep 17 00:00:00 2001 From: aerom Date: Tue, 5 May 2026 02:38:24 -0400 Subject: [PATCH] Add root redirect to /login (fix 404 on http://localhost:5010) --- app/routes/auth.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 app/routes/auth.py diff --git a/app/routes/auth.py b/app/routes/auth.py new file mode 100644 index 0000000..e9fdfb3 --- /dev/null +++ b/app/routes/auth.py @@ -0,0 +1,34 @@ +from flask import Blueprint, render_template, redirect, url_for, request, flash +from flask_login import login_user, logout_user, login_required, current_user +from app import db +from app.models import User +from werkzeug.security import generate_password_hash, check_password_hash + +bp = Blueprint('auth', __name__) + +@bp.route('/') +def index(): + return redirect(url_for('auth.login')) + +@bp.route('/login', methods=['GET', 'POST']) +def login(): + if request.method == 'POST': + email = request.form['email'] + password = request.form['password'] + user = User.query.filter_by(email=email).first() + + if user and check_password_hash(user.password_hash, password): + login_user(user) + if user.role == 'admin': + return redirect(url_for('admin.dashboard')) + else: + return redirect(url_for('owner.dashboard')) + else: + flash('Credenciales inválidas') + return render_template('login.html') + +@bp.route('/logout') +@login_required +def logout(): + logout_user() + return redirect(url_for('auth.login'))