diff --git a/app/stiftung/views.py b/app/stiftung/views.py index 6e3c071..5324af9 100644 --- a/app/stiftung/views.py +++ b/app/stiftung/views.py @@ -1241,12 +1241,12 @@ def destinataer_detail(request, pk): jahr__in=[current_year, current_year + 1] ).order_by('-jahr', '-quartal') - # Create missing quarterly confirmations for current year if destinataer requires study proof - if destinataer.studiennachweis_erforderlich: - for quartal in range(1, 5): # Q1-Q4 - nachweis, created = VierteljahresNachweis.get_or_create_for_period( - destinataer, current_year, quartal - ) + # Create missing quarterly confirmations for current year + # Quarterly tracking is now always available regardless of study proof requirements + for quartal in range(1, 5): # Q1-Q4 + nachweis, created = VierteljahresNachweis.get_or_create_for_period( + destinataer, current_year, quartal + ) # Reload to get any newly created confirmations quarterly_confirmations = VierteljahresNachweis.objects.filter( @@ -1304,42 +1304,8 @@ def destinataer_update(request, pk): try: destinataer = form.save() - # Auto-create a Destinatärunterstützung if conditions are met - if ( - destinataer.aktiv - and destinataer.unterstuetzung_bestaetigt - and destinataer.standard_konto - and destinataer.vierteljaehrlicher_betrag - and destinataer.vierteljaehrlicher_betrag > 0 - ): - from decimal import Decimal - from stiftung.models import DestinataerUnterstuetzung - - heute = timezone.now().date() - beschreibung = f"Vierteljährliche Vorauszahlung für {destinataer.get_full_name()}" - # ensure only one upcoming planned entry; update if one exists - existing = ( - DestinataerUnterstuetzung.objects.filter( - destinataer=destinataer, status="geplant" - ) - .order_by("faellig_am") - .first() - ) - if existing: - existing.konto = destinataer.standard_konto - existing.betrag = Decimal(destinataer.vierteljaehrlicher_betrag) - existing.faellig_am = heute - existing.beschreibung = beschreibung - existing.save() - else: - DestinataerUnterstuetzung.objects.create( - destinataer=destinataer, - konto=destinataer.standard_konto, - betrag=Decimal(destinataer.vierteljaehrlicher_betrag), - faellig_am=heute, - status="geplant", - beschreibung=beschreibung, - ) + # Note: Support payments are now only created through quarterly confirmations + # No automatic creation when unterstuetzung_bestaetigt is checked return JsonResponse({ 'success': True, @@ -1366,46 +1332,8 @@ def destinataer_update(request, pk): # Handle regular form submission if form.is_valid(): destinataer = form.save() - try: - # Auto-create a Destinatärunterstützung if conditions are met - if ( - destinataer.aktiv - and destinataer.unterstuetzung_bestaetigt - and destinataer.standard_konto - and destinataer.vierteljaehrlicher_betrag - and destinataer.vierteljaehrlicher_betrag > 0 - ): - from decimal import Decimal - - from stiftung.models import DestinataerUnterstuetzung - - heute = timezone.now().date() - beschreibung = f"Vierteljährliche Vorauszahlung für {destinataer.get_full_name()}" - # ensure only one upcoming planned entry; update if one exists - existing = ( - DestinataerUnterstuetzung.objects.filter( - destinataer=destinataer, status="geplant" - ) - .order_by("faellig_am") - .first() - ) - if existing: - existing.konto = destinataer.standard_konto - existing.betrag = Decimal(destinataer.vierteljaehrlicher_betrag) - existing.faellig_am = heute - existing.beschreibung = beschreibung - existing.save() - else: - DestinataerUnterstuetzung.objects.create( - destinataer=destinataer, - konto=destinataer.standard_konto, - betrag=Decimal(destinataer.vierteljaehrlicher_betrag), - faellig_am=heute, - status="geplant", - beschreibung=beschreibung, - ) - except Exception: - pass + # Note: Support payments are now only created through quarterly confirmations + # No automatic creation when unterstuetzung_bestaetigt is checked messages.success( request, f'Destinatär "{destinataer.get_full_name()}" wurde erfolgreich aktualisiert.', diff --git a/app/templates/stiftung/destinataer_detail.html b/app/templates/stiftung/destinataer_detail.html index fb9bc35..7683b2b 100644 --- a/app/templates/stiftung/destinataer_detail.html +++ b/app/templates/stiftung/destinataer_detail.html @@ -459,7 +459,6 @@ - {% if destinataer.studiennachweis_erforderlich %}
@@ -818,13 +817,12 @@ {% else %}
-
Keine vierteljährlichen Nachweise
-

Nachweise werden automatisch erstellt, wenn Studiennachweise erforderlich sind.

+
Keine vierteljährlichen Nachweise vorhanden
+

Klicken Sie auf "Quartal hinzufügen", um einen neuen Nachweis zu erstellen.

{% endif %}
- {% endif %}