feat(partner,bibliothek): Subunternehmer-Katalog, Dienstleistertypen und Bibliothek (WP-0010)

Implementiert Subunternehmer-Katalog mit Suche/Filter, Zuordnung zu Losen via HTMX-Modal,
Dienstleistertyp-CRUD und Präferenz-Badges. Bibliothek: Nachweis-Katalog mit Ablaufwarnung
und Versionierung, Referenz-Katalog mit Ausschreibungszuordnung, Leistungsblatt-CRUD,
Entscheidungsregel-CRUD mit Aktiv-Toggle. Migration für referenzen M2M auf Ausschreibung.
56 Tests grün. Tests-Discovery auf tests.py-Dateien ausgedehnt.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-11 15:27:53 +02:00
parent ca8818254b
commit 278cc1014c
31 changed files with 1818 additions and 22 deletions

View File

@@ -1,7 +1,7 @@
---
id: WP-0010
title: Subunternehmer, Partner und Bibliothek
status: todo
status: done
phase: 10-of-12
created: "2026-05-08"
depends_on: WP-0009
@@ -17,7 +17,7 @@ Entscheidungsregel-Verwaltung. Referenz: UC-SU-01 bis UC-SU-04, UC-BIB-01 bis UC
```task
id: WP-0010-T01
title: Subunternehmer-Katalog: Liste, Suche, Anlegen (UC-SU-01, UC-SU-03)
status: todo
status: done
`partner/views.py` — subunternehmer_liste, subunternehmer_neu:
@@ -40,7 +40,7 @@ CustomAttribute-Panel.
```task
id: WP-0010-T02
title: Subunternehmer einer Ausschreibung/Los zuordnen (UC-SU-02)
status: todo
status: done
`partner/views.py` — subunternehmer_zuordnen:
@@ -78,7 +78,7 @@ drei Checkboxen (Zusage, Nachweis, Preis) — HTMX-togglebar.
```task
id: WP-0010-T03
title: Dienstleistertyp-Katalog und Subunternehmer als gesperrt markieren (UC-SU-04)
status: todo
status: done
`partner/views.py` — dienstleistertypen_liste, dienstleistertyp_neu/_bearbeiten:
Einfache CRUD-Views für Dienstleistertypen (Katalog-Daten).
@@ -116,7 +116,7 @@ urlpatterns = [
```task
id: WP-0010-T04
title: Bibliothek: Nachweis-Katalog mit Ablaufwarnung (UC-BIB-01, UC-BIB-02)
status: todo
status: done
`bibliothek/views.py` — nachweise_liste, nachweis_neu/_bearbeiten:
@@ -148,7 +148,7 @@ path('nachweise/<int:pk>/version/', views.nachweis_neue_version, name='nachweis_
```task
id: WP-0010-T05
title: Bibliothek: Referenz anlegen und zuordnen (UC-BIB-03, UC-BIB-04)
status: todo
status: done
`bibliothek/views.py` — referenzen_liste, referenz_neu/_bearbeiten:
@@ -170,7 +170,7 @@ Zeigt Freigabestatus und Nutzungseinschränkungen als Warnung.
```task
id: WP-0010-T06
title: Bibliothek: Leistungsblatt und Entscheidungsregel (UC-BIB-05)
status: todo
status: done
`bibliothek/views.py` — leistungsblaetter_liste, leistungsblatt_neu/_bearbeiten:
Einfache CRUD-Views. `LeistungsblattForm(ModelForm)` mit allen Textfeldern.
@@ -192,7 +192,7 @@ Auf der Entscheidungsseite (Phase 2) werden nur `aktiv=True` Regeln angezeigt.
```task
id: WP-0010-T07
title: Bibliothek URL-Verkabelung und Tests
status: todo
status: done
`bibliothek/urls.py` vollständig:
```python