Integrate htmx and dropzone for file Section

This commit is contained in:
2026-01-13 01:53:13 +01:00
parent 0e79fdcb36
commit 5abbf367ab
15 changed files with 248 additions and 225 deletions

View File

@@ -9,7 +9,7 @@ import subprocess
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, totp_is_valid, login_required
from tools.utils import email_disp, append_to_log, gen_token, valid_passwd, valid_token_register, get_user_by_token, totp_is_valid, login_required, valid_email
from pyotp import random_base32
from tools.filesutils import check_and_create
import qrcode
@@ -73,18 +73,20 @@ def profile() :
os.path.join(DOSSIER_PERSO, user ,'theme.min.css') )
if request.form['nom']:
profil_user['nom'] = request.form['nom']
profil_user['nom'] = str(request.form['nom'])
if request.form['prenom']:
profil_user['prenom'] = request.form['prenom']
profil_user['prenom'] = str(request.form['prenom'])
if request.form['age']:
profil_user['age'] = request.form['age']
if '@' in request.form['mail_rescue']:
if len(request.form['mail_rescue']) > 4:
profil_user['mail_rescue'] = request.form['mail_rescue']
profil_user['age'] = str(request.form['age'])
if request.form['mail_rescue'] :
new_mail_rescue = str(request.form['mail_rescue'])
if valid_email(new_mail_rescue):
profil_user['mail_rescue']=new_mail_rescue
else:
flash(u'Adresse de courriel invalide', 'error')
else:
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(os.path.join(DOSSIER_PERSO, user, 'profile', nom))
@@ -98,7 +100,6 @@ def profile() :
cursor.execute("UPDATE users SET avatar=? WHERE name=?",
(filename, user))
conn.commit()
cursor = conn.cursor() # Création de l'objet "curseur"
conn.close()
flash(u'Image de profil mise à jour', 'success')
@@ -109,7 +110,7 @@ def profile() :
(profil_user['nom'], profil_user['prenom'], profil_user['age'], profil_user['mail_rescue'],
user))
conn.commit()
flash(u'Le profil a été mis à jour', 'succes')
flash(u'Le profil a été mis à jour', 'success')
@@ -195,7 +196,7 @@ def change_passwd() :
if not(account['totp']):
account['totp'] = random_base32()
img = qrcode.make('otpauth://totp/'+BASE_URL+'?secret='+account['totp'])
img.save(DOSSIER_PERSO + user + "/totp.png")
img.save(os.path.join(DOSSIER_PERSO, user, "totp.png"))
shared_key_validate = False
return render_template('mypassword.html',
@@ -302,7 +303,7 @@ def set_totp():
cursor.execute("""UPDATE users SET totp=? WHERE name=?""", (shared_key, user,))
conn.commit()
img = qrcode.make('otpauth://totp/'+BASE_URL+'?secret='+shared_key)
img.save(DOSSIER_PERSO + user + "/totp.png")
img.save(os.path.join(DOSSIER_PERSO, user, "totp.png"))
flash(u'Votre mot de passe à usage unique est configuré et actif.', 'success')
else:
flash(u'Le code de validation totp n\'est pas valide.', 'error')