2bcab5d098
- moved all server related things into the folder `server`, so this configuration is parallel to the client. - All main "services" are now folders in the root directory - Added Dockerfiles to each service (currently server and client) - Added a docker compose configuration to start everything together. Currently there are heavy dependencies into https://github.com/OpenSlides/openslides-docker-compose - Resturctured the .gitignore. If someone needs something excluded, please add it to the right section. - Added initial build setup with Docker and docker-compose. - removed setup.py. We won't deliver OpenSlides via pip anymore.
33 lines
795 B
Python
33 lines
795 B
Python
from typing import Any, Dict
|
|
|
|
from ..utils.projector import (
|
|
ProjectorAllDataProvider,
|
|
get_model,
|
|
register_projector_slide,
|
|
)
|
|
|
|
|
|
async def topic_slide(
|
|
all_data_provider: ProjectorAllDataProvider,
|
|
element: Dict[str, Any],
|
|
projector_id: int,
|
|
) -> Dict[str, Any]:
|
|
"""
|
|
Topic slide.
|
|
|
|
The returned dict can contain the following fields:
|
|
* title
|
|
* text
|
|
"""
|
|
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"])
|
|
return {
|
|
"title": topic["title"],
|
|
"text": topic["text"],
|
|
"item_number": item["item_number"],
|
|
}
|
|
|
|
|
|
def register_projector_slides() -> None:
|
|
register_projector_slide("topics/topic", topic_slide)
|