05/24 Enhance functionalities 2

This commit is contained in:
2026-05-24 23:04:55 -04:00
parent cb98c7e222
commit 13f8ba124d
11 changed files with 309 additions and 77 deletions
+23 -1
View File
@@ -8,7 +8,7 @@ from models import (
authenticate, check_login_allowed, change_password, log_action,
get_user_by_email, create_password_reset_token,
get_password_reset_user, consume_password_reset_token,
purge_expired_reset_tokens,
purge_expired_reset_tokens, update_user_profile,
)
from utils.decorators import login_required
from utils.email import send_email
@@ -107,6 +107,28 @@ def ping():
return "", 204
@auth_bp.route("/profile", methods=["GET", "POST"])
@login_required
def profile():
user = session["user"]
if request.method == "POST":
full_name = request.form.get("full_name", "").strip()
email = request.form.get("email", "").strip()
try:
update_user_profile(user["id"], full_name, email)
session["user"]["full_name"] = full_name or user["username"]
session["user"]["email"] = email
session.modified = True
log_action(user["id"], "UPDATE_PROFILE", "users", user["id"],
"User updated their own profile.")
flash("Profile updated successfully.", "success")
except Exception as e:
logger.error(f"Profile update error for user_id={user['id']}: {e}")
flash(f"Error: {e}", "danger")
return redirect(url_for("auth.profile"))
return render_template("profile.html")
@auth_bp.route("/forgot-password", methods=["GET", "POST"])
def forgot_password():
if "user" in session: