Files
flask_ipam/app/routes/r_auth.py
T
Takeus 16bb7757d3 V1.4
- Fixes
- Theme Support
- Dependencies update
2025-06-04 10:43:21 +02:00

45 lines
1.5 KiB
Python

from datetime import datetime
from flask import Blueprint, request, render_template, flash, abort, redirect, url_for, jsonify
from flask_login import login_required, current_user, login_user, logout_user
from werkzeug.security import generate_password_hash, check_password_hash
from app._config import *
from app.extensions import *
from app.models import *
from app.forms import LoginForm
auth = Blueprint('auth', __name__)
@auth.route("/login",methods=['GET','POST'])
def login():
if current_user.is_authenticated:
return redirect(url_for('base.dashboard'))
form = LoginForm()
if form.validate_on_submit():
user = User.query.filter_by(username=form.username.data).first()
if user != None:
if user.password != None:
if check_password_hash(user.password,form.password.data):
login_user(user)
user.dat_last = datetime.now()
db.session.commit()
return redirect(url_for("base.dashboard"))
flash("Bad username or password !", 'danger')
return render_template("auth/login.html", title="Login", form=form, bad_password=True)
return render_template('auth/login.html', title="Login", form=form, app_theme=app_theme)
@auth.route("/change",methods=['GET','POST'])
@login_required
def change():
pass
@auth.route("/logout")
@login_required
def logout():
logout_user()
return redirect(url_for('auth.login'))