63 lines
2.2 KiB
Python
63 lines
2.2 KiB
Python
from flask import render_template, request, session, redirect, url_for, flash
|
|
from oxyapp import app
|
|
from oxyapp.database import login_verify
|
|
from oxyapp.utils import setRank
|
|
|
|
|
|
# Page login
|
|
@app.route("/login")
|
|
def login():
|
|
return render_template("auth/login.html", title='Login')
|
|
|
|
|
|
# Formulaire de connexion - REVOIR LES SESSSIONS ET VARIABLES GLOBALES
|
|
@app.route("/form_login", methods=['POST'])
|
|
def form_login():
|
|
# On récupere les données de POST
|
|
POST_NAME = str(request.form['nom'])
|
|
POST_PRENOM = str(request.form['prenom'])
|
|
POST_PASSWORD = str(request.form['password'])
|
|
# On vérifie que les identifiants sont corrects via fonction sous SQL verify()
|
|
row = login_verify(POST_NAME, POST_PRENOM, POST_PASSWORD)
|
|
# Si la connexion s'établie alors on envoie vers index avec les différentes données
|
|
if row:
|
|
# On set les variables de sessions
|
|
session['logged_in'] = True
|
|
session.permanent = True
|
|
session['prenom'] = row[2]
|
|
session['nom'] = row[1]
|
|
session['ID'] = row[0]
|
|
session['rank'] = setRank(row[4])
|
|
# On affiche la template preloader
|
|
return redirect(url_for('preloader'))
|
|
# Si la connexion ne se fait pas alors on renvoit vers login avec une erreur
|
|
else:
|
|
flash('Identifiants incorrects', 'danger')
|
|
return redirect(url_for('login'))
|
|
|
|
|
|
# Page de déconnexion - REVOIR VARIABLES GLOBALES
|
|
@app.route("/logout")
|
|
def logout():
|
|
# Set logged_in to False pour fermer la session
|
|
session['logged_in'] = False
|
|
# Destruction des différentes valeurs sessions
|
|
session.pop('prenom', None)
|
|
session.pop('nom', None)
|
|
session.pop('ID', None)
|
|
session.pop('rank', None)
|
|
# Retourne à la page login avec message
|
|
flash('Vous avez été déconnecté', 'success')
|
|
return redirect(url_for('login'))
|
|
|
|
|
|
# Page mot de passe oublié - A FAIRE A LA FIN
|
|
@app.route('/forgot-password')
|
|
def forgot_password():
|
|
return render_template('auth/forgot-password.html', title='Mot de passe oublié')
|
|
|
|
|
|
# Page d'enregistrement compte - A FAIRE A LA FIN
|
|
@app.route('/register')
|
|
def register():
|
|
return render_template('auth/register.html', title='Inscription') |