Unterstützung für Lose

This commit is contained in:
tegwick 2026-05-14 02:57:27 +02:00
parent e4eb5bc368
commit f6af101933
8 changed files with 105 additions and 1 deletions

View file

@ -108,13 +108,25 @@ def ausschreibung_neu(request):
def ausschreibung_detail(request, pk):
from django.db.models import Count, Q
from vergabe_teilnahme.apps.aufgaben.models import Aufgabe
from vergabe_teilnahme.apps.core.services import aufgaben_score, build_phase_nav, get_deadline_warnings
from vergabe_teilnahme.apps.lose.models import Los
a = get_object_or_404(Ausschreibung, pk=pk)
lose = Los.objects.filter(ausschreibung=a).annotate(
aufgaben_total=Count('aufgaben', distinct=True),
aufgaben_erledigt=Count(
'aufgaben',
filter=Q(aufgaben__status__in=['erledigt', 'verworfen']),
distinct=True,
),
).order_by('losnummer')
ctx = {
'ausschreibung': a,
'ausschreibung_id': pk,
'lose': lose,
'phases': build_phase_nav(a),
'warnungen': get_deadline_warnings(a),
'aufgaben_score': aufgaben_score(Aufgabe.objects.filter(ausschreibung=a)),