Files
vergabe-teilnahme/vergabe_teilnahme/templates/lose/partials/los_row.html
tegwick e4eb5bc368 feat(WP-0014): Aufgaben-Phasenzuordnung und Fertigstellungs-Scores
Aufgabe bekommt ein phase-Feld (1–8). aufgaben_score()-Helper in
core/services.py berechnet abgeschlossen/total/score_pct für jedes
QuerySet. Score-Spalten in Ausschreibungen-Liste, Lose-Liste und
Ausschreibungs-Detail; per-Phase-Scores in der Seitenleisten-Navigation.
Phasenfilter in Aufgaben-Liste. 68 Tests grün.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 01:47:05 +02:00

29 lines
1.1 KiB
HTML

{% load vergabe_tags %}
<tr class="hover:bg-slate-50">
<td class="py-2 pr-4 text-slate-500">{{ los.losnummer }}</td>
<td class="py-2 pr-4">
<a href="{% url 'ausschreibungen:lose:detail' ausschreibung.pk los.pk %}"
class="text-brand-600 hover:underline font-medium">{{ los.lostitel }}</a>
</td>
<td class="py-2 pr-4 text-slate-600">{{ los.zustaendiger|default:"—" }}</td>
<td class="py-2 pr-4 text-slate-600 whitespace-nowrap">
{% if los.aufgaben_total %}
{{ los.aufgaben_erledigt }}/{{ los.aufgaben_total }}
({% widthratio los.aufgaben_erledigt los.aufgaben_total 100 %}&nbsp;%)
{% else %}—{% endif %}
</td>
<td class="py-2 pr-4">
{% if los.teilnahme is None %}
<span class="text-slate-400 text-xs">Offen</span>
{% elif los.teilnahme %}
<span class="text-green-600 text-xs font-medium">Ja</span>
{% else %}
<span class="text-red-600 text-xs font-medium">Nein</span>
{% endif %}
</td>
<td class="py-2 text-right">
<a href="{% url 'ausschreibungen:lose:bearbeiten' ausschreibung.pk los.pk %}"
class="btn-ghost text-xs">Bearbeiten</a>
</td>
</tr>