2018-12-23 11:05:38 +01:00
|
|
|
from typing import Any, Dict
|
2017-08-30 00:07:54 +02:00
|
|
|
|
2019-02-13 10:12:55 +01:00
|
|
|
from ..utils.projector import (
|
2020-05-15 11:47:43 +02:00
|
|
|
ProjectorAllDataProvider,
|
|
|
|
get_model,
|
2019-02-13 10:12:55 +01:00
|
|
|
register_projector_slide,
|
|
|
|
)
|
2016-09-18 22:14:24 +02:00
|
|
|
|
|
|
|
|
2019-03-23 12:06:57 +01:00
|
|
|
async def topic_slide(
|
2020-05-15 11:47:43 +02:00
|
|
|
all_data_provider: ProjectorAllDataProvider,
|
|
|
|
element: Dict[str, Any],
|
|
|
|
projector_id: int,
|
2019-02-21 14:40:07 +01:00
|
|
|
) -> Dict[str, Any]:
|
2018-12-23 11:05:38 +01:00
|
|
|
"""
|
|
|
|
Topic slide.
|
2019-02-13 10:12:55 +01:00
|
|
|
|
|
|
|
The returned dict can contain the following fields:
|
|
|
|
* title
|
|
|
|
* text
|
2018-12-23 11:05:38 +01:00
|
|
|
"""
|
2020-05-15 11:47:43 +02:00
|
|
|
topic = await get_model(all_data_provider, "topics/topic", element.get("id"))
|
|
|
|
item = await get_model(all_data_provider, "agenda/item", topic["agenda_item_id"])
|
2019-03-01 08:41:44 +01:00
|
|
|
return {
|
|
|
|
"title": topic["title"],
|
|
|
|
"text": topic["text"],
|
|
|
|
"item_number": item["item_number"],
|
|
|
|
}
|
2017-08-30 00:07:54 +02:00
|
|
|
|
|
|
|
|
2019-01-27 13:17:17 +01:00
|
|
|
def register_projector_slides() -> None:
|
|
|
|
register_projector_slide("topics/topic", topic_slide)
|