Export: Executive Summary → Zusammenfassung, Deckblatt-Farben druckfähig

- Alle sichtbaren "Executive Summary"-Bezeichnungen durch "Zusammenfassung" ersetzt
  (PDF/DOCX-Überschrift, Dateiname, Fallback-Texte)
- Deckblatt-Farben von #888/#aaa auf Navy #0a1832 geändert für
  bessere Lesbarkeit beim Druck (PDF-Template + DOCX)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
claude-dev
2026-04-12 00:42:55 +00:00
Ursprung 4358020c83
Commit 96463824a7
3 geänderte Dateien mit 12 neuen und 12 gelöschten Zeilen

Datei anzeigen

@@ -224,7 +224,7 @@ def _extract_zusammenfassung(summary_text: str) -> tuple[str, str]:
async def generate_executive_summary(summary_text: str) -> str:
"""KI-verdichtetes Executive Summary aus dem Lagebild."""
if not summary_text or len(summary_text.strip()) < 50:
return "<ul><li>Kein Lagebild verfügbar. Executive Summary kann nicht erstellt werden.</li></ul>"
return "<ul><li>Kein Lagebild verfügbar. Zusammenfassung kann nicht erstellt werden.</li></ul>"
from agents.claude_client import call_claude
@@ -290,7 +290,7 @@ LAGEBILD:
return html
except Exception as e:
logger.error(f"Executive Summary Generierung fehlgeschlagen: {e}")
return "<ul><li>Executive Summary konnte nicht generiert werden.</li></ul>"
return "<ul><li>Zusammenfassung konnte nicht generiert werden.</li></ul>"
async def generate_pdf(
@@ -312,7 +312,7 @@ async def generate_pdf(
is_research = incident.get("type") == "research"
zusammenfassung_html = executive_summary_html
bericht_summary = incident.get("summary", "")
zusammenfassung_title = "Executive Summary"
zusammenfassung_title = "Zusammenfassung"
if is_research and bericht_summary:
extracted_html, remaining = _extract_zusammenfassung(bericht_summary)
@@ -382,7 +382,7 @@ async def generate_docx(
is_research = incident.get("type") == "research"
zusammenfassung_text = executive_summary_text
bericht_summary = incident.get("summary") or "Keine Zusammenfassung verfuegbar."
zusammenfassung_title = "Executive Summary"
zusammenfassung_title = "Zusammenfassung"
if is_research and bericht_summary:
extracted_html, remaining = _extract_zusammenfassung(bericht_summary)
@@ -404,7 +404,7 @@ async def generate_docx(
title_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
run = title_para.add_run("AegisSight Monitor")
run.font.size = Pt(12)
run.font.color.rgb = RGBColor(0x88, 0x88, 0x88)
run.font.color.rgb = RGBColor(0x0a, 0x18, 0x32)
doc.add_paragraph()
@@ -413,7 +413,7 @@ async def generate_docx(
type_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
run = type_para.add_run(type_label)
run.font.size = Pt(10)
run.font.color.rgb = RGBColor(0x88, 0x88, 0x88)
run.font.color.rgb = RGBColor(0x0a, 0x18, 0x32)
title_para2 = doc.add_paragraph()
title_para2.alignment = WD_ALIGN_PARAGRAPH.CENTER
@@ -438,7 +438,7 @@ async def generate_docx(
meta_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
run = meta_para.add_run(f"Stand: {now.strftime('%d.%m.%Y, %H:%M Uhr')}\nErstellt von: {creator}")
run.font.size = Pt(9)
run.font.color.rgb = RGBColor(0x88, 0x88, 0x88)
run.font.color.rgb = RGBColor(0x0a, 0x18, 0x32)
doc.add_page_break()