""" PDF Service - Inline HTML Templates. Fallback templates when external template files don't exist. """ def get_letter_template_html() -> str: """Inline HTML-Template für Elternbriefe.""" return """ {{ data.subject }}
{% if data.school_info %}
{{ data.school_info.name }}
{{ data.school_info.address }}
Tel: {{ data.school_info.phone }} | E-Mail: {{ data.school_info.email }} {% if data.school_info.website %} | {{ data.school_info.website }}{% endif %}
{% else %}
Schule
{% endif %}
{{ data.date }}
{{ data.recipient_name }}
{{ data.recipient_address | replace('\\n', '
') | safe }}
Betreff: {{ data.subject }}
Schüler/in: {{ data.student_name }} | Klasse: {{ data.student_class }}
{{ data.content | replace('\\n', '
') | safe }}
{% if data.gfk_principles_applied %}
{% for principle in data.gfk_principles_applied %} ✓ {{ principle }} {% endfor %}
{% endif %}

Mit freundlichen Grüßen

{{ data.teacher_name }} {% if data.teacher_title %}
{{ data.teacher_title }}{% endif %}

{% if data.legal_references %} {% endif %}
Erstellt mit BreakPilot | {{ generated_at }}
""" def get_certificate_template_html() -> str: """Inline HTML-Template für Zeugnisse.""" return """ Zeugnis - {{ data.student_name }}
{% if data.school_info %}
{{ data.school_info.name }}
{% endif %}
{% if data.certificate_type == 'halbjahr' %} Halbjahreszeugnis {% elif data.certificate_type == 'jahres' %} Jahreszeugnis {% else %} Abschlusszeugnis {% endif %}
Schuljahr {{ data.school_year }}
Name: {{ data.student_name }} Geburtsdatum: {{ data.student_birthdate }}
Klasse: {{ data.student_class }}  

Leistungen

{% for subject in data.subjects %} {% endfor %}
Fach Note Punkte
{{ subject.name }} {{ subject.grade }} {{ subject.points | default('-') }}
{% if data.social_behavior or data.work_behavior %}

Verhalten

{% if data.social_behavior %} {% endif %} {% if data.work_behavior %} {% endif %}
Sozialverhalten {{ data.social_behavior }}
Arbeitsverhalten {{ data.work_behavior }}
{% endif %}
Versäumte Tage: {{ data.attendance.days_absent | default(0) }} (davon entschuldigt: {{ data.attendance.days_excused | default(0) }}, unentschuldigt: {{ data.attendance.days_unexcused | default(0) }})
{% if data.remarks %}
Bemerkungen:
{{ data.remarks }}
{% endif %}
Ausgestellt am: {{ data.issue_date }}
{{ data.class_teacher }}
Klassenlehrer/in
{{ data.principal }}
Schulleiter/in
Siegel der Schule
""" def get_correction_template_html() -> str: """Inline HTML-Template für Korrektur-Übersichten.""" return """ Korrektur - {{ data.exam_title }}

{{ data.exam_title }}

{{ data.subject }} | {{ data.date }}
{{ data.student.name }} | Klasse {{ data.student.class_name }}
Note: {{ data.grade }}
{{ data.achieved_points }} von {{ data.max_points }} Punkten ({{ data.percentage | round(1) }}%)

Detaillierte Auswertung

{% for item in data.corrections %}
{{ item.question }}
{% if item.answer %}
Antwort: {{ item.answer }}
{% endif %}
Punkte: {{ item.points }}
{% if item.feedback %}
{{ item.feedback }}
{% endif %}
{% endfor %}
{% if data.teacher_notes %}
Lehrerkommentar:
{{ data.teacher_notes }}
{% endif %} {% if data.ai_feedback %}
KI-Feedback:
{{ data.ai_feedback }}
{% endif %} {% if data.class_average or data.grade_distribution %}

Klassenstatistik

{% if data.class_average %} {% endif %} {% if data.grade_distribution %} {% endif %}
Klassendurchschnitt: {{ data.class_average }}
Notenverteilung: {% for grade, count in data.grade_distribution.items() %} Note {{ grade }}: {{ count }}x{% if not loop.last %}, {% endif %} {% endfor %}
{% endif %}

Datum: {{ data.date }}

Erstellt mit BreakPilot | {{ generated_at }}
"""