feat(events): add webuntis event, unify website payload, bump UI to alpha.13
- Add `webuntis` event type; event creation resolves URL from system `supplement_table_url`
- Consolidate settings: remove separate webuntis-url endpoints; use GET/POST /api/system-settings/supplement-table
- Scheduler: emit top-level `event_type` and unified `website` payload (`{ "type":"browser","url":"..." }`) for website/webuntis
- Preserve presentation payloads (page_progress/auto_progress) — presentation messages remain backwards-compatible
- Update defaults (`init_defaults.py`) and remove duplicate webuntis setting
- Docs & metadata: bump program-info to 2025.1.0-alpha.13; update README, copilot-instructions, DEV- and TECH-CHANGELOGs; add MQTT_EVENT_PAYLOAD_GUIDE.md and WEBUNTIS_EVENT_IMPLEMENTATION.md
This commit is contained in:
@@ -175,6 +175,7 @@ def format_event_with_media(event):
|
||||
"start": str(event.start),
|
||||
"end": str(event.end),
|
||||
"group_id": event.group_id,
|
||||
"event_type": event.event_type.value if event.event_type else None,
|
||||
# Carry recurrence metadata for consumers if needed
|
||||
"recurrence_rule": getattr(event, "recurrence_rule", None),
|
||||
"recurrence_end": (event.recurrence_end.isoformat() if getattr(event, "recurrence_end", None) else None),
|
||||
@@ -244,6 +245,17 @@ def format_event_with_media(event):
|
||||
f"[Scheduler] Using original file for event_media_id={media.id}: {filename}")
|
||||
_media_decision_logged.add(media.id)
|
||||
|
||||
# Add other event types...
|
||||
# Handle website and webuntis events (both display a website)
|
||||
elif event.event_type.value in ("website", "webuntis"):
|
||||
event_dict["website"] = {
|
||||
"type": "browser",
|
||||
"url": media.url if media.url else None
|
||||
}
|
||||
if media.id not in _media_decision_logged:
|
||||
logging.debug(
|
||||
f"[Scheduler] Using website URL for event_media_id={media.id} (type={event.event_type.value}): {media.url}")
|
||||
_media_decision_logged.add(media.id)
|
||||
|
||||
# Add other event types (video, message, etc.) here as needed...
|
||||
|
||||
return event_dict
|
||||
|
||||
Reference in New Issue
Block a user