Correct login landing page

This commit is contained in:
2025-09-26 00:28:15 +02:00
parent b0190336b0
commit 823884d265
25 changed files with 373 additions and 515 deletions

View File

@@ -5,6 +5,7 @@ from markupsafe import escape
import time
import sqlite3
import os
from shutil import copy
from socket import gethostname
from flask_bcrypt import Bcrypt
from tools.utils import email_disp, append_to_log, gen_token, valid_passwd, valid_token_register, get_user_by_token
@@ -43,13 +44,13 @@ def profil_img(user, img) :
@profil.route('/profil/', methods=['GET','POST'] )
@profil.route('/profil/', methods=['GET','POST'])
def profile() :
if 'username' in session :
UTILISATEUR='%s' % escape(session['username'])
user='%s' % escape(session['username'])
conn = sqlite3.connect(DATABASE) # Connexion à la base de donnée
cursor = conn.cursor() # Création de l'objet "curseur"
cursor.execute("""SELECT avatar, nom, prenom, age, Mail_rescue FROM users WHERE name=?""", (UTILISATEUR,))
cursor.execute("""SELECT avatar, nom, prenom, age, Mail_rescue FROM users WHERE name=?""", (user,))
tmp = (cursor.fetchone())
profil_user = dict()
profil_user['avatar'] = tmp[0]
@@ -62,6 +63,12 @@ def profile() :
if request.method == 'POST' :
f = request.files['fic']
if request.form['theme'] != "Default":
copy( "static/vendors/picocss/pico.fluid.classless."+request.form['theme']+".min.css",
DOSSIER_PERSO+ user +'/theme.min.css' )
if request.form['nom']:
profil_user['nom'] = request.form['nom']
if request.form['prenom']:
@@ -74,30 +81,30 @@ def profile() :
else:
flash(u'Adresse de courriel invalide', 'error')
else:
flash(u'Adresse de courriel invalide', 'error')
flash(u'Adresse de courriel de secour invalide', 'error')
if f: # On vérifie qu'un fichier a bien été envoyé
nom = secure_filename(f.filename)
f.save(DOSSIER_PERSO + UTILISATEUR + '/profile/' + nom)
image = DOSSIER_PERSO + UTILISATEUR + '/profile/' + nom
f.save(DOSSIER_PERSO + user + '/profile/' + nom)
image = DOSSIER_PERSO + user + '/profile/' + nom
with Image.open(image) as img:
img.thumbnail((300,200))
img.save( DOSSIER_PERSO + UTILISATEUR + '/profile/' + nom)
img.save( DOSSIER_PERSO + user + '/profile/' + nom)
filename = nom
conn = sqlite3.connect(DATABASE) # Connexion à la base de donnée
cursor = conn.cursor() # Création de l'objet "curseur"
cursor.execute("UPDATE users SET avatar=? WHERE name=?",
(filename, UTILISATEUR))
(filename, user))
conn.commit()
cursor = conn.cursor() # Création de l'objet "curseur"
conn.close()
flash(u'Image de profil mise à jour', 'succes')
flash(u'Image de profil mise à jour', 'success')
else:
conn = sqlite3.connect(DATABASE) # Connexion à la base de donnée
cursor = conn.cursor() # Création de l\'objet "curseur"
cursor.execute("UPDATE users SET nom=?, prenom=?, age=?, mail_rescue=? WHERE name=?",
(profil_user['nom'], profil_user['prenom'], profil_user['age'], profil_user['mail_rescue'],
UTILISATEUR))
user))
conn.commit()
flash(u'Le profil a été mis à jour', 'succes')
@@ -107,11 +114,24 @@ def profile() :
return render_template('profil.html',
section="Profil",
profil=profil_user,
username=UTILISATEUR)
username=user)
else :
return redirect(BASE_URL, code=401)
@profil.route('/profil/homepage', methods=['GET'] )
def homepage():
if 'username' in session :
username='%s' % escape(session['username'])
return render_template('homepage.html',
section="Profil",
username=username)
@profil.route('/profil/change-password/', methods=['GET','POST'] )
def change_passwd() :
if 'username' in session: