Complete dashboard loose ends and reconcile blocked pilot work
All checks were successful
All checks were successful
Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a0e394-2a69-7df0-8980-22a0ebe55216
This commit is contained in:
parent
387b7e9782
commit
35df9bb772
13 changed files with 325 additions and 55 deletions
|
|
@ -98,5 +98,19 @@
|
|||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<div class="flex items-center justify-between mb-3">
|
||||
<h2 class="text-sm font-semibold text-slate-700">Ablaufende Nachweise (60 Tage)</h2>
|
||||
<span class="text-sm">{{ ablaufende_nachweise|length }}</span>
|
||||
</div>
|
||||
{% for n in ablaufende_nachweise %}
|
||||
<div class="flex items-center justify-between py-1 text-sm">
|
||||
<a href="{% url 'bibliothek:nachweis_detail' pk=n.pk %}" class="text-brand-700 hover:underline">{{ n.titel }}</a>
|
||||
<span class="{% if n.gueltig_bis < today %}text-red-600{% else %}text-amber-600{% endif %}">{{ n.gueltig_bis|date:"d.m.Y" }}</span>
|
||||
</div>
|
||||
{% empty %}
|
||||
<p class="text-slate-400 text-sm">Keine ablaufenden Nachweise.</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
|||
|
|
@ -119,6 +119,11 @@
|
|||
<label class="form-label">Teilnahmeentscheidung</label>
|
||||
{{ form.teilnahmeentscheidung }}
|
||||
</div>
|
||||
<div>
|
||||
<label class="form-label" for="id_ergebnis">Ergebnis</label>
|
||||
{{ form.ergebnis }}
|
||||
{{ form.ergebnis.errors }}
|
||||
</div>
|
||||
<div>
|
||||
<label class="form-label">Begründung</label>
|
||||
{{ form.entscheidungsbegruendung }}
|
||||
|
|
|
|||
|
|
@ -13,8 +13,12 @@
|
|||
hx-get="{% url 'ausschreibungen:liste' %}"
|
||||
hx-target="#ausschreibungen-table"
|
||||
hx-push-url="true"
|
||||
hx-trigger="change from:select, change from:input[type=checkbox]"
|
||||
hx-trigger="change from:select, change from:input[type=checkbox], input changed delay:300ms from:input[type=search]"
|
||||
class="flex flex-wrap gap-3 items-end">
|
||||
<div>
|
||||
<label for="tender-search" class="form-label">Suche</label>
|
||||
<input id="tender-search" type="search" name="q" value="{{ q }}" class="form-input" placeholder="Titel oder Ausschreiber">
|
||||
</div>
|
||||
<div>
|
||||
<label class="form-label">Status</label>
|
||||
<select name="status" class="form-input">
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
<link rel="stylesheet" href="{% static 'dist/main.css' %}">
|
||||
<script src="{% static 'vendor/alpinejs/alpine.min.js' %}" defer></script>
|
||||
</head>
|
||||
<body class="bg-paper-2 min-h-screen text-ink">
|
||||
<body class="bg-paper-2 min-h-screen text-ink" hx-headers='{"X-CSRFToken": "{{ csrf_token }}"}'>
|
||||
{% include "partials/topbar.html" %}
|
||||
|
||||
<div class="flex h-[calc(100vh-56px)]">
|
||||
|
|
|
|||
|
|
@ -15,6 +15,19 @@
|
|||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{% if aufgaben %}
|
||||
<div class="px-3 py-1 text-xs font-medium text-slate-400 uppercase tracking-wide">Aufgaben</div>
|
||||
{% for a in aufgaben %}
|
||||
<a href="{% url 'ausschreibungen:aufgaben:detail' ausschreibung_id=a.ausschreibung_id pk=a.pk %}" class="block px-4 py-2 text-sm text-slate-700 hover:bg-slate-50">{{ a.titel }}</a>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{% if subunternehmer %}
|
||||
<div class="px-3 py-1 text-xs font-medium text-slate-400 uppercase tracking-wide">Subunternehmer</div>
|
||||
{% for s in subunternehmer %}
|
||||
<a href="{% url 'partner:su_detail' pk=s.pk %}" class="block px-4 py-2 text-sm text-slate-700 hover:bg-slate-50">{{ s.name }}</a>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{% if dokumente %}
|
||||
<div class="px-3 py-1 text-xs font-medium text-slate-400 uppercase tracking-wide mt-1">Dokumente</div>
|
||||
{% for d in dokumente %}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue