{# Das Meldeformular der Baumängel (Epic 11, Block 11.9, U10b). **Nicht das Formular der Meldungen** (`/b/melden`): Dort geht es um Störungen jeder Art samt Foto; hier um Mängel am Haus, mit «wo» und «entdeckt am». Die beiden Formulare bleiben getrennt, weil sie zwei verschiedene Töpfe im Backoffice füllen (Ticket gegen Baumangel). **Ein Feld «Wo», kein zweites Auswahlfeld.** Die Einheiten hängen an der Liegenschaft; eine Wahl, die sich mit ihr ändert, gäbe es nur mit Skript — und das Bewohnerportal ist skriptfrei. Jede Liegenschaft ist darum eine ``: «Allgemein» und die eigenen Einheiten, mit dem Wert «haus|einheit». Die Route zerlegt ihn wieder und hält ihn gegen die angebotene Liste. **Bis zu fünf Fotos gehen mit** (U10d), darum `multipart/form-data`. Ein Dateifeld lässt sich nach einem Fehler nicht vorbelegen; die Absagen der Route sagen darum, dass die Fotos neu zu wählen sind. `accept="image/*"` wie in den übrigen Formularen: Es öffnet am Telefon die Kamera. Was kein JPEG, PNG, WebP oder HEIC ist, weist die API ab. **Die zwei Absagen nennen Telefon und E-Mail der Verwaltung** (U10c, Produktentscheide 15.10.2026, Punkt 3): die Absage statt des Formulars (unten) und die 403-Absage im Kasten (`kontakt_unter_hinweis`). Beide Wege kommen als Verweise herein (`_verwaltung_wege` → `_wege`, dieselbe Form wie im Kontaktblock); fehlen beide Angaben, bleibt der heutige Satz, und es steht kein leerer Block da. Das Makro hält die Auszeichnung an EINER Stelle dieser Vorlage. Die eingegebenen Werte reisen bei einem Fehler zurück; ein Formular, das sich beim Fehler leert, ist der zuverlässigste Weg, jemanden zum Aufgeben zu bringen (dieselbe Regel wie bei `/b/melden`). #} {% import "bausteine/bausatz.html" as b %} {%- macro kontaktzeilen(wege) -%} {%- if wege %}

{% for weg in wege %}{{ weg }}{% endfor %}

{% endif -%} {%- endmacro -%}

← Zurück zu den Baumängeln

Baumangel melden

{%- call b.kasten("Ihre Angaben", klasse="bereichskarte", icon="werkzeug") %} {#- **Ein Mandant war nicht lesbar.** Dann fehlt dessen Haus in der Auswahl; ohne diesen Kasten sähe das aus, als gehöre es der Person nicht mehr (dieselbe Lücke wie auf der Liste, `hinweis.html`). -#} {{ unvollstaendig }} {{ kasten }} {#- **Die 403-Absage mit den Kontaktwegen** (U10c): Der Kasten trägt den Satz, hier darunter stehen Telefon und E-Mail des betroffenen Hauses. Nur wenn Wege da sind — sonst bliebe der Kasten allein stehen, wie bisher. -#} {%- if kontakt_unter_hinweis and kontakt_wege %}

Sie erreichen sie unter:

{{ kontaktzeilen(kontakt_wege) }} {%- endif %} {%- if not liegenschaften %} {#- **Die Absage statt eines Formulars.** Der Schalter je Liegenschaft steht per Vorgabe aus (Migration 085); wer die Adresse direkt öffnet, liest darum hier, woran er ist, statt ein Formular zu füllen, dessen Absenden abgewiesen würde. Mit hinterlegtem Kontakt nennt sie den Weg (U10c, Punkt 3); ohne bleibt der heutige Satz. -#} {%- if kontakt_wege %}

Ihre Verwaltung nimmt zurzeit keine Baumängel über das Portal entgegen. Sie erreichen sie unter:

{{ kontaktzeilen(kontakt_wege) }} {%- else %}

Ihre Verwaltung nimmt zurzeit keine Baumängel über das Portal entgegen. Bitte wenden Sie sich direkt an sie.

{%- endif %} {%- else %}
{% call b.feld("Wo ist es?", "bam-ort") %}{% endcall %} {% call b.feld("Worum geht es?", "bam-titel") %}{% endcall %} {% call b.feld("Beschreibung", "bam-text", "(freiwillig)") %}{% endcall %} {#- **Keine Formathilfe.** Die Formatmarken aus `bausteine/formathilfe.html` gelten für Texte, die durch `formatierung.zu_html` gehen (Meldungen); die Beschreibung eines Baumangels erscheint im Portal als reiner Text mit Zeilenumbrüchen (`white-space: pre-line`). Ein Hinweis auf `**fett**` wäre hier ein Versprechen ohne Deckung: Die Sternchen blieben stehen. -#} {% call b.feld("Entdeckt am", "bam-entdeckt", "(freiwillig)") %}{% endcall %} {% call b.feld("Fotos", "bam-fotos", "(freiwillig, höchstens " ~ max_fotos ~ ", je bis " ~ max_mb ~ " MB)") %}{% endcall %}

Fotos können Sie nur jetzt anhängen, nicht später.

{{ b.knopf("Meldung absenden", "haupt", klasse="breit") }}
{%- endif %} {%- endcall %}