added client RA bill wise download report
This commit is contained in:
48
app/routes/auth.py
Normal file
48
app/routes/auth.py
Normal file
@@ -0,0 +1,48 @@
|
||||
from flask import Blueprint, render_template, request, redirect, url_for, flash, session
|
||||
from app.services.user_service import UserService
|
||||
|
||||
auth_bp = Blueprint("auth", __name__)
|
||||
|
||||
@auth_bp.route("/login", methods=["GET", "POST"])
|
||||
def login():
|
||||
if session.get("user_id"):
|
||||
return redirect(url_for("dashboard.dashboard"))
|
||||
|
||||
if request.method == "POST":
|
||||
email = request.form.get("email")
|
||||
password = request.form.get("password")
|
||||
|
||||
user = UserService.validate_login(email, password)
|
||||
if user:
|
||||
session["user_id"] = user.id
|
||||
session["user_name"] = user.name
|
||||
flash("Login successful", "success")
|
||||
return redirect(url_for("dashboard.dashboard"))
|
||||
|
||||
flash("Invalid email or password", "danger")
|
||||
|
||||
return render_template("login.html", title="Login")
|
||||
|
||||
|
||||
@auth_bp.route("/logout")
|
||||
def logout():
|
||||
session.clear()
|
||||
flash("Logged out successfully", "info")
|
||||
return redirect(url_for("auth.login"))
|
||||
|
||||
@auth_bp.route("/register", methods=["GET", "POST"])
|
||||
def register():
|
||||
if request.method == "POST":
|
||||
name = request.form.get("name")
|
||||
email = request.form.get("email")
|
||||
password = request.form.get("password")
|
||||
|
||||
user = UserService.register_user(name, email, password)
|
||||
if not user:
|
||||
flash("Email already exists", "danger")
|
||||
return redirect(url_for("auth.register"))
|
||||
|
||||
flash("User registered successfully", "success")
|
||||
return redirect(url_for("auth.login"))
|
||||
|
||||
return render_template("register.html", title="Register")
|
||||
Reference in New Issue
Block a user