We are building, workplan now registered with statehub
This commit is contained in:
parent
14b0bc6d01
commit
f202b71c75
37 changed files with 2036 additions and 22 deletions
|
|
@ -0,0 +1,14 @@
|
|||
{% load vergabe_tags %}
|
||||
<div id="erfuellungsstatus-widget-{{ anforderung.pk }}" class="flex items-center gap-2">
|
||||
{% status_badge anforderung.erfuellungsstatus anforderung.get_erfuellungsstatus_display %}
|
||||
<select name="erfuellungsstatus"
|
||||
hx-post="{% url 'ausschreibungen:lose:anforderung_status' anforderung.ausschreibung_id anforderung.pk %}"
|
||||
hx-target="#erfuellungsstatus-widget-{{ anforderung.pk }}"
|
||||
hx-swap="outerHTML"
|
||||
hx-trigger="change"
|
||||
class="form-input text-xs py-0.5 h-7 w-auto">
|
||||
{% for val, label in anforderung.ERFUELLUNG_CHOICES %}
|
||||
<option value="{{ val }}" {% if val == anforderung.erfuellungsstatus %}selected{% endif %}>{{ label }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
22
vergabe_teilnahme/templates/lose/partials/los_row.html
Normal file
22
vergabe_teilnahme/templates/lose/partials/los_row.html
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{% 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">
|
||||
{% 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>
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
{% load vergabe_tags %}
|
||||
<div class="fixed inset-0 bg-black/40 flex items-center justify-center z-50"
|
||||
x-data @click.self="$el.remove()">
|
||||
<div class="bg-white rounded-xl shadow-xl w-full max-w-lg p-6" @click.stop>
|
||||
<div class="flex items-center justify-between mb-4">
|
||||
<h2 class="text-sm font-semibold text-slate-800">Nachweis zuordnen</h2>
|
||||
<button @click="$el.closest('.fixed').remove()" class="text-slate-400 hover:text-slate-600 text-lg leading-none">×</button>
|
||||
</div>
|
||||
|
||||
<form hx-get="{% url 'ausschreibungen:lose:nachweis_suche' ausschreibung_id anforderung.pk %}"
|
||||
hx-target="#nachweis-modal"
|
||||
hx-trigger="input delay:300ms"
|
||||
class="mb-4">
|
||||
<input type="text" name="q" value="{{ q }}"
|
||||
placeholder="Nachweis suchen…"
|
||||
class="form-input w-full" autofocus>
|
||||
</form>
|
||||
|
||||
{% if nachweise %}
|
||||
<ul class="divide-y divide-slate-100 max-h-64 overflow-y-auto text-sm">
|
||||
{% for n in nachweise %}
|
||||
<li class="py-2 flex items-center justify-between">
|
||||
<div>
|
||||
<span class="font-medium">{{ n.titel }}</span>
|
||||
{% if n.gueltig_bis %}
|
||||
<span class="ml-2 text-xs {% if n.ist_abgelaufen %}text-red-600{% else %}text-slate-500{% endif %}">
|
||||
bis {{ n.gueltig_bis }}
|
||||
</span>
|
||||
{% endif %}
|
||||
{% status_badge n.freigabestatus n.get_freigabestatus_display %}
|
||||
</div>
|
||||
{% if n.pk in bereits_zugeordnet %}
|
||||
<span class="text-xs text-green-600 font-medium">Bereits zugeordnet</span>
|
||||
{% else %}
|
||||
<form method="post"
|
||||
action="{% url 'ausschreibungen:lose:nachweis_zuordnen' ausschreibung_id anforderung.pk %}"
|
||||
hx-post="{% url 'ausschreibungen:lose:nachweis_zuordnen' ausschreibung_id anforderung.pk %}"
|
||||
hx-target="#nachweise-liste"
|
||||
hx-swap="innerHTML"
|
||||
hx-on::after-request="$el.closest('.fixed').remove()">
|
||||
{% csrf_token %}
|
||||
<input type="hidden" name="nachweis_pk" value="{{ n.pk }}">
|
||||
<button type="submit" class="btn-ghost text-xs">Zuordnen</button>
|
||||
</form>
|
||||
{% endif %}
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% else %}
|
||||
<p class="text-sm text-slate-500 text-center py-4">Keine Nachweise gefunden.</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
{% load vergabe_tags %}
|
||||
{% with nachweise=anforderung.nachweise.all %}
|
||||
{% if nachweise %}
|
||||
<ul class="divide-y divide-slate-100 text-sm">
|
||||
{% for n in nachweise %}
|
||||
<li class="py-2 flex items-center justify-between">
|
||||
<div>
|
||||
<span class="font-medium">{{ n.titel }}</span>
|
||||
{% if n.ist_abgelaufen %}
|
||||
<span class="ml-2 text-xs text-red-600">abgelaufen</span>
|
||||
{% elif n.gueltig_bis %}
|
||||
<span class="ml-2 text-xs text-slate-500">bis {{ n.gueltig_bis }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
<form method="post"
|
||||
action="{% url 'ausschreibungen:lose:nachweis_entfernen' ausschreibung_id anforderung.pk n.pk %}"
|
||||
hx-post="{% url 'ausschreibungen:lose:nachweis_entfernen' ausschreibung_id anforderung.pk n.pk %}"
|
||||
hx-target="#nachweise-liste"
|
||||
hx-swap="innerHTML">
|
||||
{% csrf_token %}
|
||||
<button type="submit" class="text-xs text-slate-400 hover:text-red-600">Entfernen</button>
|
||||
</form>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% else %}
|
||||
<p class="text-sm text-slate-500">Keine Nachweise zugeordnet.</p>
|
||||
{% endif %}
|
||||
{% endwith %}
|
||||
Loading…
Add table
Add a link
Reference in a new issue