feat: handle Garmin MFA and activity retries

This commit is contained in:
Bastian Wagner
2026-08-15 16:33:16 +02:00
parent c2f13611b9
commit 6657124983
7 changed files with 221 additions and 3 deletions

View File

@@ -7,7 +7,7 @@ from fastapi.templating import Jinja2Templates
from app.auth.admin import password_matches, require_admin
from app.auth.csrf import ensure_csrf_token, validate_csrf
from app.db.models import SyncUser
from app.db.repositories import UserRepository
from app.db.repositories import ActivityRepository, UserRepository
from app.security.credentials import CredentialCipher
from app.web.forms import UserFormData
@@ -131,12 +131,14 @@ def user_detail(request: Request, user_id: int):
require_admin(request)
with request.app.state.session_factory() as session:
user = _get_user_or_404(UserRepository(session), user_id)
activities = ActivityRepository(session).list_pending_for_user(user_id)
return templates.TemplateResponse(
request,
"users/detail.html",
{
"csrf_token": ensure_csrf_token(request),
"user": user,
"activities": activities,
},
)