Fix template rendering for upgraded Starlette

This commit is contained in:
Ketan Patel committed 2026-06-03 21:34:49 -04:00
1 parent 34d8b5a299
commit be7762e369
2 files changed
+24 -7

No files matched your search

+11 -7
View File
@@ -37,9 +37,9 @@ async def dashboard(request: Request):
cfg = load_config() cfg = load_config()
user = current_user(request) user = current_user(request)
response = templates.TemplateResponse( response = templates.TemplateResponse(
request,
"dashboard.html", "dashboard.html",
{ {
"request": request,
"ups_list": cfg.ups, "ups_list": cfg.ups,
"ui_cfg": cfg.ui.model_dump(), "ui_cfg": cfg.ui.model_dump(),
"current_user": user, "current_user": user,
@@ -56,8 +56,9 @@ async def config_page(request: Request):
if redirect: if redirect:
return redirect return redirect
response = templates.TemplateResponse( response = templates.TemplateResponse(
request,
"config.html", "config.html",
{"request": request, "current_user": current_user(request), "active_nav": "config"}, {"current_user": current_user(request), "active_nav": "config"},
) )
_ensure_csrf(request, response) _ensure_csrf(request, response)
return response return response
@@ -69,8 +70,9 @@ async def events_page(request: Request):
if redirect: if redirect:
return redirect return redirect
response = templates.TemplateResponse( response = templates.TemplateResponse(
request,
"events.html", "events.html",
{"request": request, "current_user": current_user(request), "active_nav": "events"}, {"current_user": current_user(request), "active_nav": "events"},
) )
_ensure_csrf(request, response) _ensure_csrf(request, response)
return response return response
@@ -82,8 +84,9 @@ async def alerts_page(request: Request):
if redirect: if redirect:
return redirect return redirect
response = templates.TemplateResponse( response = templates.TemplateResponse(
request,
"alerts.html", "alerts.html",
{"request": request, "current_user": current_user(request), "active_nav": "alerts"}, {"current_user": current_user(request), "active_nav": "alerts"},
) )
_ensure_csrf(request, response) _ensure_csrf(request, response)
return response return response
@@ -95,8 +98,9 @@ async def settings_page(request: Request):
if redirect: if redirect:
return redirect return redirect
response = templates.TemplateResponse( response = templates.TemplateResponse(
request,
"settings.html", "settings.html",
{"request": request, "current_user": current_user(request), "active_nav": "settings"}, {"current_user": current_user(request), "active_nav": "settings"},
) )
_ensure_csrf(request, response) _ensure_csrf(request, response)
return response return response
@@ -108,11 +112,11 @@ async def login_page(request: Request):
return RedirectResponse("/setup", status_code=302) return RedirectResponse("/setup", status_code=302)
if current_user(request): if current_user(request):
return RedirectResponse("/", status_code=302) return RedirectResponse("/", status_code=302)
return templates.TemplateResponse("login.html", {"request": request}) return templates.TemplateResponse(request, "login.html")
@router.get("/setup", response_class=HTMLResponse) @router.get("/setup", response_class=HTMLResponse)
async def setup_page(request: Request): async def setup_page(request: Request):
if is_admin_configured(): if is_admin_configured():
return RedirectResponse("/login", status_code=302) return RedirectResponse("/login", status_code=302)
return templates.TemplateResponse("setup.html", {"request": request}) return templates.TemplateResponse(request, "setup.html")
+13
View File
@@ -52,6 +52,19 @@ def test_login_rejects_before_setup(app_client, fake_redis):
assert r.status_code == 409 assert r.status_code == 409
def test_login_page_renders_when_configured(app_client, fake_redis):
store_admin("admin", "testpassword123")
r = app_client.get("/login")
assert r.status_code == 200
assert "text/html" in r.headers["content-type"]
def test_setup_page_renders_before_configured(app_client, fake_redis):
r = app_client.get("/setup")
assert r.status_code == 200
assert "text/html" in r.headers["content-type"]
def test_login_happy_path(app_client, fake_redis): def test_login_happy_path(app_client, fake_redis):
store_admin("admin", "testpassword123") store_admin("admin", "testpassword123")
r = app_client.post( r = app_client.post(