fix(ui): username change no longer requires password confirmation
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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"))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user