des modifications spécifiques sur les droits des utilisateurs
Build and Push Docker Image / build-and-push (push) Successful in 34s

This commit is contained in:
xavier committed 2026-08-29 10:24:17 +02:00
1 parent b5926633a3
commit e82a23988b
4 files changed
+134 -1

No files matched your search

+40 -1
View File
@@ -8,7 +8,8 @@ from fasthtml.common import *
from starlette.staticfiles import StaticFiles
from starlette.responses import FileResponse, Response, HTMLResponse, RedirectResponse
from starlette.middleware.base import BaseHTTPMiddleware
from modules.user_db import load_users, save_users, changer_nom_utilisateur, mettre_a_jour_mot_de_passe
from modules.system_utils import obtenir_infos_serveur
from modules.theme import get_theme_hdrs
from modules.database import nettoyer_vieilles_discussions, HISTORY_FILE, load_history, save_history
from modules.ui_components import render_main_page, render_sidebar, render_login_page, render_rag_upload_modal
@@ -26,6 +27,44 @@ import modules.model_updater
dossier_media = "/DATA/AppData/MULTI-IA-AETHAS38/RAG/Media"
os.makedirs(dossier_media, exist_ok=True)
@rt('/backoffice')
def get(session, request):
utilisateur = session.get('user') or request.cookies.get('aethas_user')
if not utilisateur:
return RedirectResponse('/login', status_code=303)
users = load_users()
infos_user = users.get(utilisateur, {"role": "Membre"})
role = infos_user.get("role", "Membre")
# Données spécifiques Super Admin
stats_serveur = obtenir_infos_serveur() if role == "Super Admin" else None
return render_backoffice_page(utilisateur, role, users, stats_serveur)
@rt('/backoffice/update_profile')
async def post(request, session):
utilisateur = session.get('user') or request.cookies.get('aethas_user')
if not utilisateur:
return RedirectResponse('/login', status_code=303)
form = await request.form()
nouveau_pseudo = form.get("nouveau_pseudo")
nouveau_mdp = form.get("nouveau_mdp")
if nouveau_pseudo and nouveau_pseudo != utilisateur:
succes = changer_nom_utilisateur(utilisateur, nouveau_pseudo)
if succes:
session['user'] = nouveau_pseudo
resp = RedirectResponse('/backoffice', status_code=303)
resp.set_cookie("aethas_user", nouveau_pseudo, max_age=86400)
return resp
if nouveau_mdp:
mettre_a_jour_mot_de_passe(utilisateur, nouveau_mdp)
return RedirectResponse('/backoffice', status_code=303)
# --- WIDGET PAYPAL (RECHARGE DE CRÉDITS) ---
def render_paypal_recharge_widget(montant_usd: float = 10.00):
client_id = os.getenv("PAYPAL_CLIENT_ID", "test")