{# Der Bereich «Baumängel» (Epic 11, Block 11.9, U10b). **Eigenes Register und nicht im Kontrollbuch** (Spec 5.3): Ein Baumangel ist keine erledigte Arbeit, und die beiden im selben Reiter zu zeigen verwischt, wer zahlt. **Eine Tabelle wie die Mitteilungen** (Produktentscheid 21.10.2026, U30): sortierbare Köpfe, Suche, Filter Zustand und Haus, Blättern. Die API sortiert, sucht und filtert, weil sie seitenweise schneidet (Schnittstelle `docs/schnittstellen/portal-baumaengel.md`). Was die Karte bis dahin in der Liste zeigte, steht auf der eigenen Seite des Mangels (`baumangel_seite.html`); die Zeile führt dorthin. **Der Meldeknopf erscheint nur, wenn die API ein Haus zum Melden liefert** (Entscheid 8 aus U0, 13.10.2026). Eine leere Liste heisst «kein Meldeknopf», und das ist der Normalfall, solange die Verwaltung den Schalter nicht einschaltet. **Er ist der Hauptknopf, solange der Meldeweg offen ist** (U10c, Produktentscheide 15.10.2026, Punkt 2): Dann trägt der Bereich genau diesen einen, und der Leistenknopf «Meldung erfassen» fällt weg (`melden_haupt`; die Entscheidung selbst steht in `_baumangel_hauptknopf_im_inhalt`). Ist der Meldeweg zu oder ausgefallen, bleibt «Meldung erfassen» der Hauptknopf der Ansicht, und dieser Knopf fehlt ganz. **Zwei Leerzustände mit eigenen Sätzen.** Der Bestands-Leerzustand sagt, dass zurzeit nichts erfasst ist — beim leeren Bestand liest sich «Hier ist nichts» sonst als «es wurde nichts gemacht». Ob der Meldeweg offen ist, entscheidet den zweiten Satz und den Verweis: Ohne Meldeweg verspricht der Leerzustand nichts, was es nicht gibt. #} {% import "bausteine/bausatz.html" as b %} {% import "bausteine/filter.html" as fl %} {% import "bausteine/sortkopf.html" as sk %}
{{ untertitel }}
{% endif +%} {#- Ohne Liegenschaft gibt es nichts zu zeigen und nichts zu melden, wie in den anderen Bereichen. Der Fall kann im gewöhnlichen Ablauf nicht eintreten (der Zutritt verlangt eine Eigentümerrolle), und wenn die Rollen zwischen zwei Aufrufen wegfallen, ist dieser Satz der ehrliche. -#} {%- if not liegenschaften %}Zu Ihrer Adresse ist derzeit keine Liegenschaft hinterlegt. Bitte wenden Sie sich an Ihre Verwaltung.
{%- else %} {#- **Der Störungskasten und der Banner stehen VOR den Zuständen**, wie in `meldungen.html` und `kontrollbuch.html`: Eine Lücke und ein Aushang gelten unabhängig davon, was die Liste gerade zeigt. Ohne Liegenschaft gibt es keine Angaben, die unvollstaendig sein könnten. -#} {{ unvollstaendig }} {#- Der Hinweis einer Umleitung («Ihre Meldung ist eingegangen»). Leer heisst weg; den Text wählt `LISTENHINWEISE` in `main.py`, nicht die Adresse. -#} {{ listenhinweis }} {{ banner }} {%- if zustand == 'ausfall' %} {#- **Ein Ausfall sieht nicht wie «alles in Ordnung» aus.** Nach einer leeren Liste zu urteilen wäre genau die Verwechslung, gegen die dieser Kasten steht — er erscheint darum auch dort, wo die Liste leer ist. -#}{{ b.knopf("Baumangel melden", "haupt" if melden_haupt else "zweit", href="/b/baumaengel/melden") }}
{%- endif %} {%- if maengel or gefiltert or seite > 0 %} {#- **Die Werkzeugzeile steht auch über dem Filter-Leerzustand**: Sie ist der Weg aus einem Filter ohne Treffer (wie im Kontrollbuch). Über dem Bestands-Leerzustand steht sie nicht, dort gibt es nichts zu suchen. -#} {{ fl.leiste(pfad, filter, filterfelder, was='Mangel, Nummer oder Beschreibung') }} {{ fl.kapseln(pfad, filter, kapseln_werte, ohne_filter) }} {#- Die Sortierzeile für das Telefon, wo der Tabellenkopf fehlt; dieselbe Zeile wie bei den Mitteilungen (`SORTIERWORT` kennt jeden Wert). -#}{{ sortwort }}{% if filter.get('sortierung') %} · Neueste zuerst{% endif %}
{%- if maengel %}