"""Seed Veranstaltungseinladung (Serienbrief) into DokumentVorlage."""

import os

from django.conf import settings
from django.db import migrations


def seed_veranstaltungseinladung(apps, schema_editor):
    DokumentVorlage = apps.get_model("stiftung", "DokumentVorlage")

    schluessel = "stiftung/veranstaltung/serienbrief_pdf.html"
    template_path = os.path.join(settings.BASE_DIR, "templates", schluessel)

    if os.path.exists(template_path):
        with open(template_path, "r", encoding="utf-8") as f:
            html_inhalt = f.read()

        DokumentVorlage.objects.get_or_create(
            schluessel=schluessel,
            defaults={
                "bezeichnung": "Veranstaltungseinladung (Serienbrief)",
                "kategorie": "serienbrief",
                "html_inhalt": html_inhalt,
                "verfuegbare_variablen": {
                    "veranstaltung.titel": "Titel der Veranstaltung",
                    "veranstaltung.datum": "Datum der Veranstaltung",
                    "veranstaltung.uhrzeit": "Uhrzeit",
                    "veranstaltung.ort": "Ort / Gasthaus",
                    "veranstaltung.adresse": "Adresse des Veranstaltungsorts",
                    "veranstaltung.betreff": "Betreffzeile (optional)",
                    "veranstaltung.briefvorlage": "Freier Brieftext (HTML, optional)",
                    "veranstaltung.unterschrift_1_name": "Name Unterschrift 1",
                    "veranstaltung.unterschrift_1_titel": "Titel Unterschrift 1",
                    "veranstaltung.unterschrift_2_name": "Name Unterschrift 2",
                    "veranstaltung.unterschrift_2_titel": "Titel Unterschrift 2",
                    "teilnehmer": "Liste der Teilnehmer (for-Schleife)",
                    "t.anrede": "Anrede des Teilnehmers (in Schleife)",
                    "t.vorname": "Vorname des Teilnehmers",
                    "t.nachname": "Nachname des Teilnehmers",
                    "t.strasse": "Straße des Teilnehmers",
                    "t.plz": "PLZ des Teilnehmers",
                    "t.ort": "Ort des Teilnehmers",
                },
            },
        )


class Migration(migrations.Migration):

    dependencies = [
        ("stiftung", "0061_dokument_vorlage"),
    ]

    operations = [
        migrations.RunPython(seed_veranstaltungseinladung, migrations.RunPython.noop),
    ]
