Some checks failed
Tests / Go Tests (push) Has been cancelled
Tests / Python Tests (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Tests / Go Lint (push) Has been cancelled
Tests / Python Lint (push) Has been cancelled
Tests / Security Scan (push) Has been cancelled
Tests / All Checks Passed (push) Has been cancelled
Security Scanning / Secret Scanning (push) Has been cancelled
Security Scanning / Dependency Vulnerability Scan (push) Has been cancelled
Security Scanning / Go Security Scan (push) Has been cancelled
Security Scanning / Python Security Scan (push) Has been cancelled
Security Scanning / Node.js Security Scan (push) Has been cancelled
Security Scanning / Docker Image Security (push) Has been cancelled
Security Scanning / Security Summary (push) Has been cancelled
CI/CD Pipeline / Go Tests (push) Has been cancelled
CI/CD Pipeline / Python Tests (push) Has been cancelled
CI/CD Pipeline / Website Tests (push) Has been cancelled
CI/CD Pipeline / Linting (push) Has been cancelled
CI/CD Pipeline / Security Scan (push) Has been cancelled
CI/CD Pipeline / Docker Build & Push (push) Has been cancelled
CI/CD Pipeline / Integration Tests (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / CI Summary (push) Has been cancelled
ci/woodpecker/manual/build-ci-image Pipeline was successful
ci/woodpecker/manual/main Pipeline failed
All services: admin-v2, studio-v2, website, ai-compliance-sdk, consent-service, klausur-service, voice-service, and infrastructure. Large PDFs and compiled binaries excluded via .gitignore.
74 lines
2.2 KiB
HTML
74 lines
2.2 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="de">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>{{ data.subject }}</title>
|
|
</head>
|
|
<body>
|
|
<div class="header">
|
|
{% if data.school_info %}
|
|
<div class="school-name">{{ data.school_info.name }}</div>
|
|
<div class="school-info">
|
|
{{ data.school_info.address }}<br>
|
|
Tel: {{ data.school_info.phone }} | E-Mail: {{ data.school_info.email }}
|
|
{% if data.school_info.website %} | {{ data.school_info.website }}{% endif %}
|
|
</div>
|
|
{% else %}
|
|
<div class="school-name">Schule</div>
|
|
{% endif %}
|
|
</div>
|
|
|
|
<div class="letter-date">
|
|
{{ data.date }}
|
|
</div>
|
|
|
|
<div class="recipient">
|
|
{{ data.recipient_name }}<br>
|
|
{{ data.recipient_address | replace('\n', '<br>') | safe }}
|
|
</div>
|
|
|
|
<div class="subject">
|
|
Betreff: {{ data.subject }}
|
|
</div>
|
|
|
|
<div class="meta-info" style="font-size: 10pt; color: #666; margin-bottom: 20px;">
|
|
Schüler/in: {{ data.student_name }} | Klasse: {{ data.student_class }}
|
|
</div>
|
|
|
|
<div class="content">
|
|
{{ data.content | replace('\n', '<br>') | safe }}
|
|
</div>
|
|
|
|
{% if data.gfk_principles_applied %}
|
|
<div style="margin-bottom: 20px;">
|
|
{% for principle in data.gfk_principles_applied %}
|
|
<span class="gfk-badge">GFK: {{ principle }}</span>
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div class="signature">
|
|
<p>Mit freundlichen Grüßen</p>
|
|
<p style="margin-top: 30px;">
|
|
{{ data.teacher_name }}
|
|
{% if data.teacher_title %}<br><span style="font-size: 10pt;">{{ data.teacher_title }}</span>{% endif %}
|
|
</p>
|
|
</div>
|
|
|
|
{% if data.legal_references %}
|
|
<div class="legal-references">
|
|
<strong>Rechtliche Grundlagen:</strong><br>
|
|
{% for ref in data.legal_references %}
|
|
<div style="margin: 5px 0;">
|
|
{{ ref.law }} {{ ref.paragraph }}: {{ ref.title }}
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div style="font-size: 8pt; color: #999; margin-top: 30px; text-align: center;">
|
|
Erstellt mit BreakPilot | {{ generated_at }}
|
|
</div>
|
|
</body>
|
|
</html>
|