Initial commit
This commit is contained in:
40
app/routes/profile.py
Normal file
40
app/routes/profile.py
Normal file
@@ -0,0 +1,40 @@
|
||||
from flask import Blueprint, render_template, request, redirect, url_for, flash
|
||||
from app.auth import login_required, get_current_user
|
||||
from app.db import execute
|
||||
|
||||
bp = Blueprint("profile", __name__)
|
||||
|
||||
|
||||
@bp.route("/profile", methods=["GET"])
|
||||
@login_required
|
||||
def index():
|
||||
user = get_current_user()
|
||||
return render_template("profile.html", user=user)
|
||||
|
||||
|
||||
@bp.route("/profile", methods=["POST"])
|
||||
@login_required
|
||||
def update():
|
||||
user = get_current_user()
|
||||
display_name = request.form.get("display_name", "").strip()
|
||||
height_cm = request.form.get("height_cm") or None
|
||||
age = request.form.get("age") or None
|
||||
gender = request.form.get("gender") or None
|
||||
goal_weight_kg = request.form.get("goal_weight_kg") or None
|
||||
starting_weight_kg = request.form.get("starting_weight_kg") or None
|
||||
|
||||
execute(
|
||||
"""UPDATE users
|
||||
SET display_name = %s, height_cm = %s, age = %s, gender = %s,
|
||||
goal_weight_kg = %s, starting_weight_kg = %s
|
||||
WHERE id = %s""",
|
||||
(display_name or user["username"], height_cm, age, gender,
|
||||
goal_weight_kg, starting_weight_kg, user["id"]),
|
||||
)
|
||||
|
||||
if request.headers.get("HX-Request"):
|
||||
flash("Profile updated!", "success")
|
||||
return render_template("profile.html", user=get_current_user())
|
||||
|
||||
flash("Profile updated!", "success")
|
||||
return redirect(url_for("profile.index"))
|
||||
Reference in New Issue
Block a user