{% import "bausteine/bausatz.html" as b %} {# Eine Mitteilung auf ihrer eigenen Seite — mit dem ganzen Text. `link_ziel` ist bereits geprüft: Das Link-FELD ist ein Skalar und lief NICHT durch den HTML-Filter — es kommt aus `pruefe_link()` der API, und `_mitteilung_html` prüft es ein zweites Mal auf ein erlaubtes Schema. Das Portal soll keinen Link ausliefern, den es selbst nicht erklären kann. Die Prüfung bleibt in Python: Ein Sicherheitsentscheid gehört dorthin, wo ein Leser ihn sucht. **In der Liste steht ein Anriss, hier der ganze Text** (Etappe 5, Task 6). Bis dahin stand überall alles: Bei einer Einladung mit Traktandenliste füllte eine Mitteilung die Seite, und die nächste fand niemand mehr (Auftraggeber, 2026-09-03). Die Liste zeigt seit dem 2026-09-04 Tabellenzeilen (`mitteilung_reihe.html`); dieser Baustein rendert nur noch die eigene Seite und trägt darum weder Verweis noch Anriss — man ist schon da. Kein `klickbar`: Eine Karte, die beim Zeigen aufleuchtet und nirgendwohin führt, ist ein Versprechen ohne Deckung (Code-Review 2026-09-04). #} {#- **Der Titel ist ein `h1`, kein `h3`** (Vorgabe des Auftraggebers, 05.09.2026: «Kann man noch den Infoteil in eine Kachel packen, also es sieht strukturlos aus»). Die Seite hatte als einzige des Bewohnerbereichs gar keine Hauptüberschrift: Eine Vorlesesoftware begann hier auf der dritten Ebene, und der Sprung von `h1` zu `h3` fand keinen Anfang. Und der Text steht in einem Kasten wie überall sonst — dieselbe Form wie die Eckwerte der Dokumentseite und der Meldung. -#}

{{ m.get('titel', '') }}

{%- call b.kasten("Mitteilung", klasse="bereichskarte", icon="pin") %} {%+ if wann %}

Veröffentlicht am {{ wann }}

{% endif +%} {#- **Der Termin steht auch hier, nicht nur in der Karte auf der Startseite.** Sonst nähme das Feld Information weg statt sie zu ordnen: Wer den Termin nicht mehr in den Titel schreibt («Heizungs- revision 12.09.» → «Heizungsrevision»), bei dem stünde das Datum nach Ablauf oder ausserhalb der fünf Zeilen NIRGENDS mehr (`/code-review` 06.09.2026). Anders als oben wird er nicht weggelassen, wenn er vorbei ist. Die Startseite fragt «was steht an», diese Seite hält fest, was war. -#} {%+ if termin %}

Termin: {{ termin }}

{% endif +%}
{{ m.get('text', '')|gefiltert }}
{%+ if link_ziel %}

Mehr dazu

{% endif +%} {%- endcall %}