Session editor and live sessions!

This commit is contained in:
marc
2025-03-21 19:42:43 +01:00
parent 6c83d11e5b
commit ac54453b7f
54 changed files with 1247 additions and 173 deletions

View File

@@ -0,0 +1,72 @@
from fastapi import HTTPException, Request
from folkugat_web.model.pagines import Pages
from folkugat_web.model.temes import ContentType, LinkType
from folkugat_web.services import playlists as playlists_service
from folkugat_web.services import sessions as sessions_service
from folkugat_web.templates import templates
def pagina(request: Request, session_id: int, set_id: int, logged_in: bool):
session = sessions_service.get_session(session_id=session_id)
set_ = playlists_service.get_set(session_id=session_id, set_id=set_id)
if not set_:
raise HTTPException(status_code=404, detail="Set not found")
set_ = playlists_service.add_temes_to_set(set_)
return templates.TemplateResponse(
"fragments/sessio/set/pagina.html",
{
"request": request,
"logged_in": logged_in,
"Pages": Pages,
"session_id": session_id,
"session": session,
"set": set_,
"date_names": sessions_service.get_date_names,
"LinkType": LinkType,
"ContentType": ContentType,
}
)
def live(request: Request, logged_in: bool):
session = sessions_service.get_live_session()
set_ = None
if session and session.id:
playlist = playlists_service.get_playlist(session_id=session.id)
if playlist.sets:
set_ = playlists_service.add_temes_to_set(playlist.sets[-1])
return templates.TemplateResponse(
"fragments/sessio/set/pagina.html",
{
"request": request,
"logged_in": logged_in,
"Pages": Pages,
"session": session,
"set": set_,
"date_names": sessions_service.get_date_names,
"LinkType": LinkType,
"ContentType": ContentType,
}
)
def live_set(request: Request, logged_in: bool):
session = sessions_service.get_live_session()
set_ = None
if session and session.id:
playlist = playlists_service.get_playlist(session_id=session.id)
if playlist.sets:
set_ = playlists_service.add_temes_to_set(playlist.sets[-1])
return templates.TemplateResponse(
"fragments/sessio/set/set_page.html",
{
"request": request,
"logged_in": logged_in,
"Pages": Pages,
"session": session,
"set": set_,
"date_names": sessions_service.get_date_names,
"LinkType": LinkType,
"ContentType": ContentType,
}
)