kundenplattform/templates/auftragskatalog.html
Thomas Stallinger ca25ce030e feat: Konfigurationsgruppen im Admin-Auftragskatalog-UI
- Bugfix: auftragskatalog.html hatte Select/Deselect-Formular-Ziele fest
  auf /geraete/... verdrahtet statt zurueck_url zu nutzen - Admin-Ansicht
  eines fremden-Org-Geraets scheiterte dadurch mit 404. Jetzt dynamisch.
- Herkunfts-Anzeige ('via OE'/'via Gruppe') ist jetzt anklickbar, sofern
  ein Sprungziel existiert (neue anreichere_mit_quelle_url()-Hilfsfunktion
  in routers/geraete.py, von geraete.py und admin_geraete.py genutzt).
- Admin-Geräteliste (/admin/geraete) bekommt OE-Spalte + 'In OE
  verschieben', analog zur Kundenportal-Liste.
- Neue, bewusst schlanke Admin-OE-Ansicht
  (/admin/kunden/{org}/organisationseinheiten/{oe}/merkmale) - nur der
  Merkmale-Editor als Sprungziel, kein OE-CRUD (bleibt laut ADR-0012
  Kunden-Self-Service unter /struktur).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-12 21:28:10 +02:00

64 lines
2.9 KiB
HTML

{% extends "base.html" %}
{% block title %}Auftragskatalog {{ device.hostname or device.device_fingerprint }} — Tuxflotte{% endblock %}
{% block content %}
<p><a href="{{ zurueck_url }}">← Geräteliste</a></p>
<h2>Auftragskatalog: {{ device.hostname or device.device_fingerprint }}</h2>
{% if fehler %}
<p><mark>{{ fehler }}</mark></p>
{% else %}
{% for kategorie_name, eintraege in kategorien.items() %}
<section>
<h3>{{ kategorie_name }}</h3>
<figure>
<table>
<tbody>
{% for eintrag in eintraege %}
<tr>
<td>
<strong>{{ eintrag.name }}</strong>
{% if eintrag.description %}<br><small>{{ eintrag.description }}</small>{% endif %}
</td>
<td class="state-{{ eintrag.state }}">
{{ "ausgewählt" if eintrag.state == "present" else "nicht ausgewählt" }}
{% if eintrag.quelle and eintrag.quelle != "workspace" %}
<br><small>
{% if eintrag.quelle_url %}
via <a href="{{ eintrag.quelle_url }}">{{ {"oe": "OE", "gruppe": "Gruppe"}[eintrag.quelle] }}</a>
{% else %}
via {{ {"oe": "OE", "gruppe": "Gruppe", "geraet": "manuell"}[eintrag.quelle] }}
{% endif %}
</small>
{% endif %}
</td>
<td>
{% if eintrag.state == "present" %}
<form method="post" action="{{ zurueck_url }}/{{ device.id }}/auftragskatalog/{{ eintrag.merkmal }}/deselect">
<button type="submit" class="secondary outline">Abwählen</button>
</form>
{% else %}
<form method="post" action="{{ zurueck_url }}/{{ device.id }}/auftragskatalog/{{ eintrag.merkmal }}/select">
{% if optionen_felder.get(eintrag.merkmal) %}
<div class="optionen">
{% for feld in optionen_felder[eintrag.merkmal] %}
<label>
<input type="checkbox" name="optionen.{{ feld.key }}">
{{ feld.label }}
</label>
{% endfor %}
</div>
{% endif %}
<button type="submit">Auswählen</button>
</form>
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</figure>
</section>
{% endfor %}
{% endif %}
{% endblock %}