oxycardio/oxyapp/auth/routes.py
2020-12-22 11:10:20 +01:00

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')