fix: sidebar vide sur /workspaces — pas de contexte workspace actif
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped

_sidebar_data() prend un nouveau parametre include_workspace (default True).
La page /workspaces passe include_workspace=False pour que la sidebar
n'affiche ni le nom du workspace actif, ni ses pages/folders.
This commit is contained in:
2026-07-16 08:29:52 -04:00
parent d645126b53
commit 07a4f5ece6
+6 -5
View File
@@ -31,7 +31,7 @@ def _get_user_or_redirect(request: Request):
return user
def _sidebar_data(request: Request, repos: list[dict]) -> dict:
def _sidebar_data(request: Request, repos: list[dict], include_workspace: bool = True) -> dict:
user = SessionManager.decode_session(request.cookies.get("flowdeck_session", ""))
ws = user.get("login", "Bruno") if user else "Bruno"
initial = ws[0].upper() if ws else "B"
@@ -64,7 +64,8 @@ def _sidebar_data(request: Request, repos: list[dict]) -> dict:
"children": [],
})
# Active workspace from cookie
# Active workspace from cookie (skip on pages like /workspaces where no
# workspace context should be shown)
from app.routers.board import _load_workspace_pages
ws_cookie = request.cookies.get("flowdeck_workspace", "")
active_ws_name = "Workspace"
@@ -73,7 +74,7 @@ def _sidebar_data(request: Request, repos: list[dict]) -> dict:
gitea_owner = ""
gitea_repo = ""
if ws_cookie and ws_cookie.startswith("gitea:"):
if include_workspace and ws_cookie and ws_cookie.startswith("gitea:"):
# Gitea workspace: set owner/repo for client-side tree loading
parts = ws_cookie.split(":", 2)
if len(parts) >= 3:
@@ -82,7 +83,7 @@ def _sidebar_data(request: Request, repos: list[dict]) -> dict:
active_ws_name = f"{gitea_owner}/{gitea_repo}"
gitea_workspace = True
workspace_pages = [] # loaded client-side
elif ws_cookie and user:
elif include_workspace and ws_cookie and user:
try:
wsi = int(ws_cookie)
with get_conn() as conn:
@@ -1105,7 +1106,7 @@ async def workspaces_page(request: Request):
"""Workspaces list page."""
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader("app/templates"))
sidebar = _sidebar_data(request, [])
sidebar = _sidebar_data(request, [], include_workspace=False)
user = SessionManager.decode_session(request.cookies.get("flowdeck_session", ""))
if not user:
return RedirectResponse("/auth/login?provider=local", status_code=302)