Remove 'Abgeschlossen' from payment pipeline, make 'Überwiesen' the final step

The 'Abgeschlossen' column was redundant after 'Überwiesen' since no further
action occurs after a payment is transferred. The pipeline is now 4 stages:
Offen → Nachweis eingereicht → Freigegeben → Überwiesen.

Existing 'abgeschlossen' records are merged into the 'Überwiesen' column.
Financial reports and queries are unaffected as they already include both statuses.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
SysAdmin Agent
2026-03-21 20:59:42 +00:00
parent 7c7bd73404
commit 4ef09750d6
3 changed files with 4 additions and 15 deletions

View File

@@ -362,7 +362,6 @@ class DestinataerUnterstuetzung(models.Model):
("nachweis_eingereicht", "Nachweis eingereicht"),
("freigegeben", "Freigegeben"),
("ausgezahlt", "Überwiesen"),
("abgeschlossen", "Abgeschlossen"),
]
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
@@ -485,7 +484,7 @@ class DestinataerUnterstuetzung(models.Model):
"in_bearbeitung": 3,
"freigegeben": 3,
"ausgezahlt": 4,
"abgeschlossen": 5,
"abgeschlossen": 4,
"storniert": 0,
}
return stage_map.get(self.status, 1)

View File

@@ -1813,7 +1813,7 @@ def batch_nachweis_aufforderung_senden(request):
@login_required
def zahlungs_pipeline(request):
"""2c: Zahlungs-Pipeline 5-Stufen-Kanban-Ansicht."""
"""2c: Zahlungs-Pipeline 4-Stufen-Kanban-Ansicht."""
heute = date.today()
destinataer_id = request.GET.get("destinataer", "")
konto_id = request.GET.get("konto", "")
@@ -1831,8 +1831,7 @@ def zahlungs_pipeline(request):
"offen": qs.filter(status__in=["geplant", "faellig"]).order_by("faellig_am"),
"nachweis_eingereicht": qs.filter(status="nachweis_eingereicht").order_by("faellig_am"),
"freigegeben": qs.filter(status__in=["freigegeben", "in_bearbeitung"]).order_by("faellig_am"),
"ueberwiesen": qs.filter(status="ausgezahlt").order_by("-ausgezahlt_am"),
"abgeschlossen": qs.filter(status="abgeschlossen").order_by("-ausgezahlt_am"),
"ueberwiesen": qs.filter(status__in=["ausgezahlt", "abgeschlossen"]).order_by("-ausgezahlt_am"),
}
stage_meta = {
@@ -1840,7 +1839,6 @@ def zahlungs_pipeline(request):
"nachweis_eingereicht": ("Nachweis eingereicht", "info", "fa-file-alt"),
"freigegeben": ("Freigegeben (4-Augen)", "warning", "fa-shield-alt"),
"ueberwiesen": ("Überwiesen", "success", "fa-university"),
"abgeschlossen": ("Abgeschlossen", "dark", "fa-check-double"),
}
pipeline_stages = [
@@ -1852,7 +1850,7 @@ def zahlungs_pipeline(request):
"zahlungen": list(pipeline[key]),
"gesamt": pipeline[key].aggregate(s=Sum("betrag"))["s"] or Decimal("0"),
}
for key in ["offen", "nachweis_eingereicht", "freigegeben", "ueberwiesen", "abgeschlossen"]
for key in ["offen", "nachweis_eingereicht", "freigegeben", "ueberwiesen"]
]
destinataere = Destinataer.objects.filter(aktiv=True).order_by("nachname", "vorname")