fix(ui): username change no longer requires password confirmation

This commit is contained in:
2026-07-05 22:03:59 +08:00
parent ae2ed2d961
commit 005e6a09b5
3 changed files with 0 additions and 31 deletions

View File

@@ -85,14 +85,9 @@ def settings_page(
def change_username(
request: Request,
new_username: str = Form(...),
password: str = Form(...),
user: User = Depends(get_current_user_web),
db: Session = Depends(get_db),
):
if not verify_password(password, user.password_hash):
return templates.TemplateResponse(
"settings.html", {"request": request, "user": user, "error": "密码错误"}, status_code=400
)
if db.query(User).filter(User.username == new_username, User.id != user.id).first():
return templates.TemplateResponse(
"settings.html", {"request": request, "user": user, "error": "用户名已存在"}, status_code=400

View File

@@ -19,8 +19,6 @@
<input type="text" value="{{ user.username }}" disabled>
<label>新用户名</label>
<input type="text" name="new_username" required maxlength="64" placeholder="输入新用户名">
<label>确认密码</label>
<input type="password" name="password" required placeholder="输入当前密码确认身份">
<div class="form-actions">
<button type="submit" class="btn btn-primary">修改用户名</button>
</div>

View File

@@ -1,24 +0,0 @@
from fastapi.testclient import TestClient
from app.main import app
c = TestClient(app)
# login
r = c.post("/login", data={"username": "admin", "password": "admin123"}, follow_redirects=False)
print("login:", r.status_code)
session = r.cookies.get("pc_session")
if session:
c.cookies.set("pc_session", session)
r = c.get("/dashboard")
print("dashboard:", r.status_code)
assert r.status_code == 200
r = c.get("/profiles")
print("profiles:", r.status_code)
assert r.status_code == 200
print("All checks passed")
else:
print("login failed, no session")
r2 = c.post("/login", data={"username": "admin", "password": "admin123"}, follow_redirects=True)
print("follow:", r2.status_code, "pc_session:", r2.cookies.get("pc_session"))