From 3faa88fcea484dfbb942c562c259ca5c3df58f86 Mon Sep 17 00:00:00 2001 From: "Adrian A. Baumann" Date: Fri, 20 Feb 2026 15:59:51 +0100 Subject: [PATCH] DocX-export added - not perfect yet. --- dokumente/docx_template/template.docx | Bin 0 -> 102749 bytes dokumente/docx_utils.py | 207 +++++++++++++++++++ dokumente/management/commands/export_docx.py | 55 +++++ dokumente/urls.py | 1 + dokumente/views.py | 33 +++ requirements.txt | 2 + 6 files changed, 298 insertions(+) create mode 100644 dokumente/docx_template/template.docx create mode 100644 dokumente/docx_utils.py create mode 100644 dokumente/management/commands/export_docx.py diff --git a/dokumente/docx_template/template.docx b/dokumente/docx_template/template.docx new file mode 100644 index 0000000000000000000000000000000000000000..d2261fe5f18141853d75344518a636e0661d32bd GIT binary patch literal 102749 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

*Cy(rgN1?IXijZLLQeqnJ-r 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

|IX8IN1Xdv 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

kk&I+qf;WJ?pzwCKb`~^Be-mJ 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

o`FB14wLHOpHs%dG}a7X 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 D=PdWZ literal 0 HcmV?d00001 diff --git a/dokumente/docx_utils.py b/dokumente/docx_utils.py new file mode 100644 index 0000000..47b2359 --- /dev/null +++ b/dokumente/docx_utils.py @@ -0,0 +1,207 @@ +""" +Utility functions for exporting Dokument instances as Word (.docx) files. +""" +import os +from docx import Document +from docx.shared import Pt +from docx.oxml.ns import qn + + +TEMPLATE_PATH = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'docx_template', 'template.docx') + + +def build_standard_docx(dokument): + """ + Generate a Word Document object for the given Dokument. + + Opens the template .docx to inherit custom styles (Hermes, Kurztext, + Tabelle, etc.), clears the body, then writes the document structure. + + Args: + dokument: a Dokument instance (should be prefetched with related data) + + Returns: + docx.Document instance ready to be saved + """ + doc = Document(TEMPLATE_PATH) + + # Clear all body content while preserving page-layout section properties + body = doc.element.body + for element in list(body): + if element.tag != qn('w:sectPr'): + body.remove(element) + + # 1. Title + title_para = doc.add_paragraph(style='Normal') + run = title_para.add_run(f'Standard\nIT-Sicherheit-{dokument.name}') + run.bold = True + run.font.size = Pt(22) + + # 2. Metadata table (uses the "Hermes" table style from the template) + meta_table = doc.add_table(rows=0, cols=2, style='Hermes') + meta_rows = [ + ('Identifikation:', dokument.nummer), + ('Dokumentationsklasse:', dokument.dokumententyp.name if dokument.dokumententyp else ''), + ('Gültig ab:', dokument.gueltigkeit_von.strftime('%d.%m.%Y') if dokument.gueltigkeit_von else ''), + ('Gültig bis:', dokument.gueltigkeit_bis.strftime('%d.%m.%Y') if dokument.gueltigkeit_bis else ''), + ('Klassifizierung:', ''), + ('Verantwortliche Stelle:', 'Information Security Management BIT'), + ('Autoren:', ', '.join(a.name for a in dokument.autoren.all())), + ('Prüfende:', ', '.join(p.name for p in dokument.pruefende.all())), + ] + for label, value in meta_rows: + row = meta_table.add_row() + row.cells[0].text = label + row.cells[1].text = value + + # 3. Einleitung + doc.add_heading('Einleitung', level=1) + for abschnitt in dokument.einleitung_set.order_by('order'): + _add_abschnitt(doc, abschnitt) + + # 4. Geltungsbereich + doc.add_heading('Geltungsbereich', level=1) + for abschnitt in dokument.geltungsbereich_set.order_by('order'): + _add_abschnitt(doc, abschnitt) + + # 5. Vorgaben + doc.add_heading('Vorgaben', level=1) + + vorgaben = list( + dokument.vorgaben + .order_by('thema__name', 'nummer') + .select_related('thema') + .prefetch_related( + 'vorgabekurztext_set__abschnitttyp', + 'vorgabelangtext_set__abschnitttyp', + 'checklistenfragen', + 'referenzen', + ) + ) + + current_thema = None + for vorgabe in vorgaben: + thema_name = vorgabe.thema.name if vorgabe.thema else '' + if thema_name != current_thema: + current_thema = thema_name + doc.add_heading(thema_name, level=2) + + doc.add_heading(f'{vorgabe.Vorgabennummer()} \u2013 {vorgabe.titel}', level=4) + + for kt in vorgabe.vorgabekurztext_set.order_by('order'): + _add_abschnitt(doc, kt, default_style='Kurztext') + + for lt in vorgabe.vorgabelangtext_set.order_by('order'): + _add_abschnitt(doc, lt) + + fragen = list(vorgabe.checklistenfragen.all()) + if fragen: + doc.add_paragraph('Checklistenfragen', style='Normal') + for frage in fragen: + doc.add_paragraph(frage.frage, style='Normal') + + refs = list(vorgabe.referenzen.all()) + if refs: + doc.add_paragraph('Referenzen: ' + ', '.join(r.Path() for r in refs), style='Normal') + + # 6. Checkliste + doc.add_heading('Checkliste', level=1) + + all_fragen = [ + (vorgabe.Vorgabennummer(), frage.frage) + for vorgabe in vorgaben + for frage in vorgabe.checklistenfragen.all() + ] + if all_fragen: + checklist_table = doc.add_table(rows=1, cols=3, style='Normal Table') + header = checklist_table.rows[0].cells + header[0].text = '#' + header[1].text = 'Bezeichnung (WAS)' + header[2].text = 'Richtlinieregel (WIE)' + for vorgabe_num, frage_text in all_fragen: + row = checklist_table.add_row() + row.cells[0].text = vorgabe_num + row.cells[1].text = '' + row.cells[2].text = frage_text + + # 7. Changelog + changelog_entries = list( + dokument.changelog.order_by('-datum').prefetch_related('autoren') + ) + if changelog_entries: + doc.add_heading('Änderungskontrolle', level=1) + changelog_table = doc.add_table(rows=1, cols=4, style='Tabelle') + header = changelog_table.rows[0].cells + header[0].text = 'Wann' + header[1].text = 'Version' + header[2].text = 'Wer' + header[3].text = 'Beschreibung' + for cl in changelog_entries: + row = changelog_table.add_row() + row.cells[0].text = cl.datum.strftime('%d.%m.%Y') if cl.datum else '' + row.cells[1].text = '' + row.cells[2].text = ', '.join(a.name for a in cl.autoren.all()) + row.cells[3].text = cl.aenderung + + return doc + + +def _add_abschnitt(doc, abschnitt, default_style='Normal'): + """ + Add a single Textabschnitt to the document, respecting its section type. + """ + typ = abschnitt.abschnitttyp.abschnitttyp if abschnitt.abschnitttyp else 'text' + inhalt = abschnitt.inhalt or '' + + if not inhalt.strip(): + return + + if typ == 'text': + doc.add_paragraph(inhalt, style=default_style) + + elif typ in ('liste ungeordnet', 'liste geordnet'): + for line in inhalt.strip().split('\n'): + line = line.strip().lstrip('- ').lstrip('* ') + if line: + doc.add_paragraph(line, style='Normal') + + elif typ == 'tabelle': + _add_markdown_table(doc, inhalt) + + else: + doc.add_paragraph(inhalt, style='Normal') + + +def _add_markdown_table(doc, markdown_content): + """ + Parse a markdown table and add it to the document as a Word table. + Falls back to a plain paragraph if parsing fails. + """ + lines = [line.strip() for line in markdown_content.strip().split('\n') if line.strip()] + if len(lines) < 2: + doc.add_paragraph(markdown_content, style='Normal') + return + + header_cells = [c.strip() for c in lines[0].split('|') if c.strip()] + if not header_cells: + doc.add_paragraph(markdown_content, style='Normal') + return + + # Skip the separator row (dashes), collect data rows + data_lines = [ + line for line in lines[2:] + if not all(c in '-|: ' for c in line) + ] + + table = doc.add_table(rows=1, cols=len(header_cells), style='Table Grid') + header_row = table.rows[0].cells + for i, cell_text in enumerate(header_cells): + if i < len(header_row): + header_row[i].text = cell_text + + for line in data_lines: + row_cells = [c.strip() for c in line.split('|') if c.strip()] + row = table.add_row() + for i, cell_text in enumerate(row_cells): + if i < len(row.cells): + row.cells[i].text = cell_text diff --git a/dokumente/management/commands/export_docx.py b/dokumente/management/commands/export_docx.py new file mode 100644 index 0000000..adf4e1a --- /dev/null +++ b/dokumente/management/commands/export_docx.py @@ -0,0 +1,55 @@ +from django.core.management.base import BaseCommand, CommandError +from dokumente.models import Dokument +from dokumente.docx_utils import build_standard_docx +import os + + +class Command(BaseCommand): + help = 'Export a Dokument (or all active Dokumente) as Word (.docx) files' + + def add_arguments(self, parser): + parser.add_argument( + '--nummer', + type=str, + help='Document number to export (e.g. R0129). Omit to export all active documents.', + ) + parser.add_argument( + '--output', + type=str, + default='.', + help='Output directory (default: current directory)', + ) + + def handle(self, *args, **options): + output_dir = options['output'] + os.makedirs(output_dir, exist_ok=True) + + if options['nummer']: + try: + dokumente = [Dokument.objects.prefetch_related( + 'autoren', 'pruefende', 'vorgaben__thema', + 'vorgaben__referenzen', 'vorgaben__checklistenfragen', + 'vorgaben__vorgabekurztext_set__abschnitttyp', + 'vorgaben__vorgabelangtext_set__abschnitttyp', + 'geltungsbereich_set__abschnitttyp', + 'einleitung_set__abschnitttyp', + 'changelog__autoren', + ).get(nummer=options['nummer'])] + except Dokument.DoesNotExist: + raise CommandError(f"Dokument with nummer '{options['nummer']}' not found.") + else: + dokumente = Dokument.objects.filter(aktiv=True).prefetch_related( + 'autoren', 'pruefende', 'vorgaben__thema', + 'vorgaben__referenzen', 'vorgaben__checklistenfragen', + 'vorgaben__vorgabekurztext_set__abschnitttyp', + 'vorgaben__vorgabelangtext_set__abschnitttyp', + 'geltungsbereich_set__abschnitttyp', + 'einleitung_set__abschnitttyp', + 'changelog__autoren', + ).order_by('nummer') + + for dokument in dokumente: + doc = build_standard_docx(dokument) + filename = os.path.join(output_dir, f'{dokument.nummer}.docx') + doc.save(filename) + self.stdout.write(self.style.SUCCESS(f'Exported {dokument.nummer} → {filename}')) diff --git a/dokumente/urls.py b/dokumente/urls.py index 0d6ffff..cc16381 100644 --- a/dokumente/urls.py +++ b/dokumente/urls.py @@ -12,6 +12,7 @@ urlpatterns = [ path('/checkliste/', views.standard_checkliste, name='standard_checkliste'), path('/json/', views.standard_json, name='standard_json'), path('/xml/', views.standard_xml, name='standard_xml'), + path('/docx/', views.standard_docx, name='standard_docx'), path('comments//', views.get_vorgabe_comments, name='get_vorgabe_comments'), path('comments//add/', views.add_vorgabe_comment, name='add_vorgabe_comment'), path('comments/delete//', views.delete_vorgabe_comment, name='delete_vorgabe_comment'), diff --git a/dokumente/views.py b/dokumente/views.py index 08ed98e..6034afa 100644 --- a/dokumente/views.py +++ b/dokumente/views.py @@ -6,10 +6,12 @@ from django.views.decorators.http import require_POST from django.views.decorators.csrf import csrf_exempt from django.utils.html import escape, mark_safe from django.utils.safestring import SafeString +import io import json import xml.etree.ElementTree as ET from .models import Dokument, Vorgabe, VorgabeKurztext, VorgabeLangtext, Checklistenfrage, VorgabeComment from .utils import build_dokument_xml_element, prettify_xml +from .docx_utils import build_standard_docx from abschnitte.utils import render_textabschnitte from datetime import date @@ -256,6 +258,37 @@ def standard_json(request, nummer): return JsonResponse(doc_data, json_dumps_params={'indent': 2, 'ensure_ascii': False}, encoder=DjangoJSONEncoder) +def standard_docx(request, nummer): + """ + Export a single Dokument as a Word (.docx) file. + """ + dokument = get_object_or_404( + Dokument.objects.prefetch_related( + 'autoren', 'pruefende', 'vorgaben__thema', + 'vorgaben__referenzen', 'vorgaben__checklistenfragen', + 'vorgaben__vorgabekurztext_set__abschnitttyp', + 'vorgaben__vorgabelangtext_set__abschnitttyp', + 'geltungsbereich_set__abschnitttyp', + 'einleitung_set__abschnitttyp', + 'changelog__autoren', + ), + nummer=nummer, + ) + + doc = build_standard_docx(dokument) + + buffer = io.BytesIO() + doc.save(buffer) + buffer.seek(0) + + response = HttpResponse( + buffer.read(), + content_type='application/vnd.openxmlformats-officedocument.wordprocessingml.document', + ) + response['Content-Disposition'] = f'attachment; filename="{dokument.nummer}.docx"' + return response + + def standard_xml(request, nummer): """ Export a single Dokument as XML diff --git a/requirements.txt b/requirements.txt index 21fe605..ddec645 100644 --- a/requirements.txt +++ b/requirements.txt @@ -19,6 +19,7 @@ greenlet==3.3.0 gunicorn==23.0.0 idna==3.11 jedi==0.19.2 +lxml==6.0.2 jproperties==2.1.2 Markdown==3.10 packaging==25.0 @@ -30,6 +31,7 @@ pyfakefs==5.9.3 Pygments==2.19.2 pysonar==1.2.1.3951 python-dateutil==2.9.0.post0 +python-docx==1.2.0 python-monkey-business==1.1.0 pyxdg==0.28 PyYAML==6.0.3