{# Die Mitteilungen der Verwaltung (Etappe 3, Task 4, Spec §8). Wie die Meldungen, aber ohne Status: Eine Mitteilung hat keinen. Ein Filter, den es hier nicht gibt, erscheint darum weder als Kachel noch als Kapsel, und `_filter_aus` liest ihn in diesem Bereich gar nicht erst aus der Adresszeile. **Das Angeheftete steht ueber der Liste und nicht darin.** Die API schliesst genau die aus der Liste aus, die oben tatsaechlich stehen — sonst verschwinden die Überzähligen ganz. **Sobald gefiltert wird, steht es auch darin** (07.09.2026): Eine Suche nach dem Titel des Aushangs ergab sonst «Keine Mitteilung passt zu diesen Filtern», während der Aushang darüber stand. Die Zahl im Untertitel zählt ihn in beiden Faellen mit; sie meint den Bestand, nicht die Tabelle. #} {% import "bausteine/filter.html" as fl %} {% import "bausteine/sortkopf.html" as sk %} {% import "bausteine/bausatz.html" as b %}

Mitteilungen

{%+ if untertitel %}

{{ untertitel }}

{% endif +%} {#- Der Stoerungskasten steht INNERHALB der Liegenschaftspruefung: Ohne Liegenschaft gibt es keine Angaben, die unvollstaendig sein koennten, und zwei Saetze ueber dieselbe Sache sind einer zu viel. -#} {%- if not liegenschaften %}

Zu Ihrer Adresse ist derzeit keine Liegenschaft hinterlegt. Bitte wenden Sie sich an Ihre Verwaltung.

{%- else %}{{ unvollstaendig }} {{ banner }} {#- **Ein Umschalter, keine Zaehlkacheln.** «Ungelesen» ist ein Ja/Nein, kein Wert unter vielen — und eine Zahl daneben waere ein Versprechen, das die Seite nicht halten kann: Sie kennt nur, was sie geholt hat (Code-Review 2026-09-03). Dieselbe Form wie der Umschalter Liste/Kacheln der Ablage. -#}
Alle Ungelesen
{{ fl.leiste(pfad, filter, filterfelder, was='Titel, Inhalt oder Datum (z. B. 08.2026)') }} {#- **Das Feld bleibt auch ohne Jahresliste stehen**, wenn ein Jahr gilt: Die Liste kommt aus einer eigenen Abfrage, und fällt ein Mandant aus, ist sie leer. Ohne diesen Zweig stünde dann ein Jahresfilter ohne jeden Weg heraus (Code-Review 2026-09-03). Bis zum 2026-09-04 sprang dafür die Kapsel ein; seit der geltende Wert immer in der Auswahl steht, trägt das Feld selbst den Weg heraus. -#} {{ fl.kapseln(pfad, filter, kapseln_werte, ohne_filter) }} {#- **Was gilt, steht auch dort, wo es keinen Kopf gibt.** Am Telefon blendet der Stil den Tabellenkopf aus (er loest die Tabelle zu Karten auf); ohne diese Zeile zeigte die Liste eine andere Ordnung, ohne zu sagen welche und ohne Weg zurück (Code-Review 04.09.2026). Dieselbe Zeile und dieselbe Klasse wie in der Ablage — sie erscheint nur unter 60rem. -#}

{{ sortwort }}{% if filter.get('sortierung') %} · Neueste zuerst{% endif %}

{%- if zeilen %}
{#- Zwei der drei Spalten sind sortierbar, in der API (siehe `meldungen.html`). Die dritte traegt die Marke «Neu» und ist es nicht: Der Lesestand steht in einer Tabelle ohne Mandantenkennung und wird NACH dem Schneiden angehängt — nach ihm zu sortieren hiesse, eine Seite umzuordnen, die anders geschnitten wurde. **Sie hatte bis zum Code-Review vom 04.09.2026 gar keine Kopfzelle**: zwei ` {{- sk.kopf("Mitteilung", "titel", filter.get('sortierung', ''), sortadresse) }} {{- sk.kopf("Veröffentlicht", "datum", filter.get('sortierung', ''), sortadresse, vorgabe_ab=true) }} {{ zeilen_html }}
Mitteilungen
` für drei ``. Der Kommentar hier beschrieb eine Spalte, die es im Kopf nicht gab, und der Test dazu konnte nicht rot werden. Ihr Name steht `weg` (nur für Vorleseprogramme), wie die Vorschauspalte der Ablage: «Stand» über einer Kapsel wäre breiter als die Spalte. -#}
Stand
{%- elif seite > 0 %}{{ b.leerzustand("filter", "Auf dieser Seite steht nichts mehr.", aktion_href=filteradresse(pfad, filter), aktion_wort="Zurück zum Anfang") }} {#- **«Ungelesen» gehört dazu.** Es ist ein Filter wie Jahr und Suche, nur mit einem Umschalter statt einem Feld — und ohne diesen Zweig landete der leere Fall im Bestandszweig darunter: «Zurzeit gibt es keine Mitteilungen» statt «keine ungelesenen», und ohne den Weg zurück (`/code-review` 07.09.2026, zweiter Durchgang). -#} {%- elif filter.get('jahr') or filter.get('q') or filter.get('ungelesen') %}{{ b.leerzustand("filter", "Keine Mitteilung passt zu diesen Filtern.", aktion_href=ohne_filter, aktion_wort="Alles zurücksetzen") }} {#- **«Keine» gilt nur, wenn auch oben keine steht.** Sind alle sichtbaren Mitteilungen angeheftet, ist die Tabelle leer und der Aushang darüber trotzdem da; «Zurzeit gibt es keine Mitteilungen» widerspraeche dann dem, was der Leser sieht (`/code-review` 07.09.2026). -#} {%- elif banner %}{{ b.leerzustand("bestand", "Ausser dem Angehefteten oben gibt es zurzeit nichts.") }} {%- else %}{{ b.leerzustand("bestand", "Zurzeit gibt es keine Mitteilungen.") }} {%- endif %} {{ blaettern }} {%- endif %}