# Generated by Django 5.0.6 on 2025-09-01 20:03

import django.db.models.deletion
import uuid
from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('stiftung', '0025_appconfiguration'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.AddField(
            model_name='destinataerunterstuetzung',
            name='ausgezahlt_am',
            field=models.DateField(blank=True, null=True, verbose_name='Ausgezahlt am'),
        ),
        migrations.AddField(
            model_name='destinataerunterstuetzung',
            name='ausgezahlt_von',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='Ausgezahlt von'),
        ),
        migrations.AddField(
            model_name='destinataerunterstuetzung',
            name='empfaenger_iban',
            field=models.CharField(blank=True, max_length=34, verbose_name='Empfänger IBAN'),
        ),
        migrations.AddField(
            model_name='destinataerunterstuetzung',
            name='empfaenger_name',
            field=models.CharField(blank=True, max_length=200, verbose_name='Empfänger Name'),
        ),
        migrations.AddField(
            model_name='destinataerunterstuetzung',
            name='verwendungszweck',
            field=models.CharField(blank=True, max_length=140, verbose_name='Verwendungszweck'),
        ),
        migrations.AlterField(
            model_name='destinataerunterstuetzung',
            name='status',
            field=models.CharField(choices=[('geplant', 'Geplant'), ('faellig', 'Fällig'), ('in_bearbeitung', 'In Bearbeitung'), ('ausgezahlt', 'Ausgezahlt'), ('storniert', 'Storniert')], default='geplant', max_length=20, verbose_name='Status'),
        ),
        migrations.CreateModel(
            name='UnterstuetzungWiederkehrend',
            fields=[
                ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
                ('betrag', models.DecimalField(decimal_places=2, max_digits=12, verbose_name='Betrag (€)')),
                ('intervall', models.CharField(choices=[('monatlich', 'Monatlich'), ('quartalsweise', 'Vierteljährlich'), ('halbjaehrlich', 'Halbjährlich'), ('jaehrlich', 'Jährlich')], max_length=20, verbose_name='Intervall')),
                ('beschreibung', models.CharField(blank=True, max_length=255, verbose_name='Beschreibung')),
                ('empfaenger_iban', models.CharField(max_length=34, verbose_name='Empfänger IBAN')),
                ('empfaenger_name', models.CharField(max_length=200, verbose_name='Empfänger Name')),
                ('verwendungszweck', models.CharField(blank=True, max_length=140, verbose_name='Verwendungszweck')),
                ('erste_zahlung_am', models.DateField(verbose_name='Erste Zahlung am')),
                ('letzte_zahlung_am', models.DateField(blank=True, null=True, verbose_name='Letzte Zahlung am (optional)')),
                ('naechste_generierung', models.DateField(verbose_name='Nächste Generierung')),
                ('aktiv', models.BooleanField(default=True, verbose_name='Aktiv')),
                ('erstellt_am', models.DateTimeField(auto_now_add=True)),
                ('destinataer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='wiederkehrende_unterstuetzungen', to='stiftung.destinataer', verbose_name='Destinatär')),
                ('erstellt_von', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='Erstellt von')),
                ('konto', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='stiftung.stiftungskonto', verbose_name='Zahlungskonto')),
            ],
            options={
                'verbose_name': 'Wiederkehrende Unterstützung',
                'verbose_name_plural': 'Wiederkehrende Unterstützungen',
                'ordering': ['-erstellt_am'],
            },
        ),
        migrations.AddField(
            model_name='destinataerunterstuetzung',
            name='wiederkehrend_von',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='stiftung.unterstuetzungwiederkehrend', verbose_name='Wiederkehrende Zahlung'),
        ),
        migrations.AddIndex(
            model_name='destinataerunterstuetzung',
            index=models.Index(fields=['wiederkehrend_von'], name='stiftung_de_wiederk_3d5afc_idx'),
        ),
        migrations.AddIndex(
            model_name='unterstuetzungwiederkehrend',
            index=models.Index(fields=['aktiv', 'naechste_generierung'], name='stiftung_un_aktiv_b957e5_idx'),
        ),
        migrations.AddIndex(
            model_name='unterstuetzungwiederkehrend',
            index=models.Index(fields=['destinataer', 'aktiv'], name='stiftung_un_destina_2232fc_idx'),
        ),
    ]
