05/24 Enhance functionalities 2
This commit is contained in:
@@ -30,7 +30,7 @@ def save_email():
|
||||
fields = [
|
||||
"email.enabled", "email.smtp_host", "email.smtp_port",
|
||||
"email.smtp_user", "email.smtp_password", "email.security",
|
||||
"email.recipients", "email.send_time",
|
||||
"email.smtp_from", "email.recipients", "email.send_time",
|
||||
]
|
||||
for field in fields:
|
||||
key = field
|
||||
|
||||
+23
-1
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user