fixes + guest

This commit is contained in:
JiriUhlir
2026-06-16 10:23:43 +02:00
parent fa4307852c
commit bad55a7d41
18 changed files with 295 additions and 209 deletions
+24 -2
View File
@@ -259,6 +259,28 @@ def google_callback(request: Request, code: str = "", state: str = "", error: st
return _render_login("Google login failed.")
@router.get("/guest", response_class=HTMLResponse)
def guest_page(request: Request):
user = current_user(request)
if not user:
return RedirectResponse(url="/portal/login", status_code=303)
# Účet s přidělenými právy sem nepatří pošli ho na běžnou úvodní stránku.
if (user.get("role") or "").lower() != "guest":
return RedirectResponse(url="/portal/apps", status_code=303)
return page(
"Čekání na schválení",
"""
<div class="card">
<h2><i class="fa-solid fa-user-clock" aria-hidden="true"></i> Účet zatím nemá přidělená práva</h2>
<p>Požádejte o přidělení práv administrátora.</p>
<p class="muted">Jakmile vám administrátor přiřadí roli, obnovte stránku a portál se vám zpřístupní.</p>
</div>
""",
user=user,
)
@router.post("/logout")
def logout(request: Request):
user = current_user(request)
@@ -424,7 +446,7 @@ def _render_login(error: str | None = None) -> str:
<input type="password" name="password" autocomplete="current-password" required>
</p>
<button type="submit" class="btn-secondary">Sign in locally</button>
<button type="submit" class="btn-secondary"><i class="fa-solid fa-right-to-bracket" aria-hidden="true"></i> Sign in locally</button>
</form>
"""
@@ -464,7 +486,7 @@ def _render_login(error: str | None = None) -> str:
<input type="password" name="password" autocomplete="current-password" required>
</p>
<button type="submit" class="btn-secondary">Přihlásit lokálně</button>
<button type="submit" class="btn-secondary"><i class="fa-solid fa-right-to-bracket" aria-hidden="true"></i> Přihlásit lokálně</button>
</form>
</div>
""",