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:
parent
ca8818254b
commit
278cc1014c
31 changed files with 1818 additions and 22 deletions
|
|
@ -0,0 +1,39 @@
|
|||
<div>
|
||||
<div class="mb-3">
|
||||
<input type="text" name="q" value="{{ q }}"
|
||||
class="form-input w-full"
|
||||
placeholder="Subunternehmer suchen..."
|
||||
hx-get="{% url 'partner:su_suche_modal' ausschreibung_id=ausschreibung_id los_pk=los_pk %}"
|
||||
hx-target="closest div"
|
||||
hx-trigger="input changed delay:300ms"
|
||||
hx-include="[name='q']">
|
||||
</div>
|
||||
|
||||
{% if subunternehmer %}
|
||||
<ul class="space-y-1 max-h-80 overflow-y-auto">
|
||||
{% for sub in subunternehmer %}
|
||||
<li class="flex items-center justify-between p-2 rounded hover:bg-slate-50 border border-slate-100">
|
||||
<div>
|
||||
<span class="font-medium text-sm">{{ sub.name }}</span>
|
||||
<span class="text-xs text-slate-500 ml-2">{{ sub.dienstleistertyp|default:"" }}</span>
|
||||
{% if sub.praeferenz == 'gesperrt' %}
|
||||
<span class="badge-red ml-2 text-xs">⚠ Gesperrt</span>
|
||||
{% elif sub.praeferenz == 'bevorzugt' %}
|
||||
<span class="badge-green ml-2 text-xs">Bevorzugt</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<form hx-post="{% url 'partner:su_zuordnen' ausschreibung_id=ausschreibung_id los_pk=los_pk %}"
|
||||
hx-target="#zuordnungen-liste"
|
||||
hx-swap="beforeend"
|
||||
hx-on::after-request="document.getElementById('su-modal').remove()">
|
||||
{% csrf_token %}
|
||||
<input type="hidden" name="subunternehmer_id" value="{{ sub.pk }}">
|
||||
<button type="submit" class="btn-primary btn-sm">Zuordnen</button>
|
||||
</form>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% else %}
|
||||
<p class="text-slate-500 text-sm">Kein Subunternehmer gefunden.</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
Loading…
Add table
Add a link
Reference in a new issue