{# ───────────────────────────────────────────────────────────────────── v3/pdf/antrag_pdf.html — GWÖ-Antragsprüfung als druckbares PDF. Wiederverwendet die v3-Layout-Logik (Single Column, Sektions-Reihen- folge), kappt aber alle Online-Elemente: raus: Merken, Vote-treffend, Share-Block, News-Box, Kommentare, Modals, Reanalyze, Historie, Cluster drin: Header, Titel, Themen, Zusammenfassung+Kernpunkte, Bewertung, Stärken/Schwächen, Matrix mit Achsen-Labels, NEU: Erklärung der Schwerpunkt-Felder, Programm-Treue, Verbesserungen, Abstimmungsergebnis. Wird von report.py via Jinja gerendert; WeasyPrint produziert A4 PDF. ───────────────────────────────────────────────────────────────────── #} GWÖ-Antragsprüfung — {{ assessment.title }}
GWÖ-Antragsprüfung {% if parlament_name %} · {{ parlament_name }}{% endif %}

{{ assessment.title }}

Drucksache {{ assessment.drucksache }} {% if assessment.datum %} · eingebracht {{ assessment.datum }}{% endif %} {% if assessment.fraktionen %} — Antragsteller: {% for f in assessment.fraktionen %}{{ f }}{% endfor %} {% endif %}
{% if assessment.themen %}
{% for t in assessment.themen %}{{ t }}{% endfor %}
{% endif %}
{% if assessment.antrag_zusammenfassung or assessment.antrag_kernpunkte %}

Zusammenfassung

{% if assessment.antrag_zusammenfassung %}

{{ assessment.antrag_zusammenfassung }}

{% endif %} {% if assessment.antrag_kernpunkte %}
Kernforderungen
{% endif %}
{% endif %}

Bewertung

{{ "%.1f"|format(assessment.gwoe_score) }}/10
Gemeinwohl-Score
{{ assessment.empfehlung.value }}
{% if assessment.gwoe_begruendung %}

{{ assessment.gwoe_begruendung }}

{% endif %}
{% if assessment.staerken or assessment.schwaechen %}

Stärken & Schwächen

{% if assessment.staerken %}

Stärken

    {% for s in assessment.staerken %}
  • {{ s }}
  • {% endfor %}
{% endif %} {% if assessment.schwaechen %}

Schwächen

    {% for s in assessment.schwaechen %}
  • {{ s }}
  • {% endfor %}
{% endif %}
{% endif %}

GWÖ-Matrix 5×5

Würde
Solida­rität
Nach­haltig­keit
Gerech­tigkeit
Trans­parenz
{% set rows = [ ('A', 'Lieferant:­innen'), ('B', 'Finanzen'), ('C', 'Verwal­tung'), ('D', 'Bürger:­innen'), ('E', 'Gesell­schaft & Natur'), ] %} {% for r, r_label in rows %}
{{ r }} · {{ r_label }}
{% for c in ['1','2','3','4','5'] %} {% set cell = matrix_lookup.get(r ~ c, {}) %} {% set rt = cell.get('rating', 0) %}
{% if rt >= 4 %}++{% elif rt >= 1 %}+{% elif rt == 0 %}·{% elif rt <= -4 %}−−{% else %}−{% endif %}
{% endfor %} {% endfor %}
++ stark fördernd + fördernd ○ neutral − widersprechend −− stark widersprechend
{% if matrix_top or matrix_bottom %}

Schwerpunkte erklärt

Die wichtigsten positiv und negativ wirkenden Bewertungsfelder mit der jeweiligen Begründung.

{% for cell in matrix_top %}
{{ cell.field }} {{ cell.label }} Bewertung: {% if cell.rating > 0 %}+{% endif %}{{ cell.rating }}
{% if cell.aspect %}
{{ cell.aspect }}
{% endif %}
{% endfor %} {% for cell in matrix_bottom %}
{{ cell.field }} {{ cell.label }} Bewertung: {{ cell.rating }}
{% if cell.aspect %}
{{ cell.aspect }}
{% endif %}
{% endfor %}
{% endif %} {% if assessment.wahlprogramm_scores %} {% set _missing_set = (assessment.fehlende_programme or []) | map('lower') | list %} {% set _all_missing = assessment.fehlende_programme and (assessment.wahlprogramm_scores | length == assessment.fehlende_programme | length) %} {% if _all_missing %}

Programm-Treue pro Fraktion

Programm-Treue nicht verfügbar. Für dieses Parlament ({{ bundesland }}) sind aktuell keine Wahl- und Parteiprogramme indiziert. Eine inhaltliche Bewertung gegen die einzelnen Programme ist damit nicht möglich; um halluzinierte Scores zu vermeiden, wird die Programm-Treue-Sektion hier nicht ausgewiesen.

{% else %}

Programm-Treue pro Fraktion

{% if assessment.fehlende_programme %}

Hinweis: Für folgende Parteien lag kein Wahl-/Parteiprogramm vor — sie werden hier nicht aufgeführt: {{ assessment.fehlende_programme | join(", ") }}.

{% endif %} {% for fs in assessment.wahlprogramm_scores %} {% if fs.fraktion | lower not in _missing_set %}
{{ fs.fraktion }} {% if fs.ist_antragsteller %}Antragsteller:in{% endif %} {% if fs.ist_regierung %}Regierungsfraktion{% endif %}
{% for prog_key, prog_label in [("wahlprogramm","Wahlprogramm"), ("parteiprogramm","Parteiprogramm")] %} {% set p = fs[prog_key] %} {% set p_score = p.score | float %}
{{ prog_label }} {{ "%.0f"|format(p_score) }}/10
{% if p.begruendung %}

{{ p.begruendung }}

{% endif %} {% if p.zitate %} {% for z in p.zitate %}
„{{ z.text }}" {{ z.quelle }}
{% endfor %} {% else %}
Keine wörtlich passenden Stellen im {{ prog_label }} gefunden — Bewertung beruht auf inhaltlicher Auslegung.
{% endif %}
{% endfor %}
{% endif %}{# fraktion not in fehlende_programme #} {% endfor %}
{% endif %}{# _all_missing-else #} {% endif %}{# wahlprogramm_scores #} {% if assessment.verbesserungen %}

Verbesserungsvorschläge

{% for v in assessment.verbesserungen %}
{% if assessment.verbesserungen | length > 1 %}
Vorschlag {{ loop.index }} von {{ assessment.verbesserungen | length }}
{% endif %} {% if v.original %}
Original: {{ v.original }}
{% endif %} {% if v.vorschlag %}
{{ v.vorschlag | safe }}
{% endif %} {% if v.begruendung %}
Begründung: {{ v.begruendung }}
{% endif %}
{% endfor %}
{% endif %} {% if plenum_votes %}

Abstimmungsergebnis

{% if konsistenz_state %}
{% if konsistenz_state == 'conflict' %}Mehrheit gegen GWÖ-Empfehlung{% else %}Mehrheit deckt sich mit GWÖ-Empfehlung{% endif %} — Empfohlen: {{ assessment.empfehlung.value }}; Beschluss: {{ konsistenz_decisive | capitalize }}.
{% endif %} {% for v in plenum_votes %}
{{ v.ergebnis | capitalize }}{% if v.einstimmig %} · einstimmig{% endif %}{% if v.quelle_protokoll %} · {{ v.quelle_protokoll }}{% endif %}
{% if v.fraktionen_ja %}
Ja: {% for f in v.fraktionen_ja %}{{ f }}{% endfor %}
{% endif %} {% if v.fraktionen_nein %}
Nein: {% for f in v.fraktionen_nein %}{{ f }}{% endfor %}
{% endif %} {% if v.fraktionen_enthaltung %}
Enth.: {% for f in v.fraktionen_enthaltung %}{{ f }}{% endfor %}
{% endif %}
{% endfor %}
{% endif %}