Neue Sektion 'Debug-Modus' auf der Auftragskatalog-Seite (Kunden- und Admin-Bereich, gleiches zurueck_url-Praefix-Muster wie die bestehenden select/deselect-Formulare) mit Aktivieren/Beenden-Toggle. Geräteliste zeigt jetzt ein kleines Debug-Badge. Hardware-Seite bekommt eine neue Sektion 'Aktueller Zustand (letzter Checkin)' mit den Health-Metriken, nur sichtbar wenn device.health vorhanden ist. Log-Seite zeigt jetzt 'Zuletzt gemeldet' oberhalb der Ereignistabelle - vorher nur in der Geräteliste sichtbar, nicht in der Detail-Historie. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
78 lines
3.6 KiB
HTML
78 lines
3.6 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>
|
|
|
|
<section>
|
|
<h3>Debug-Modus</h3>
|
|
{% if device.debug_mode_until %}
|
|
<p>Aktiv bis {{ device.debug_mode_until }} (kurzes Poll-Intervall, fällt danach automatisch auf den Standard zurück).</p>
|
|
<form method="post" action="{{ zurueck_url }}/{{ device.id }}/debug-modus/deaktivieren">
|
|
<button type="submit" class="secondary outline">Debug-Modus jetzt beenden</button>
|
|
</form>
|
|
{% else %}
|
|
<form method="post" action="{{ zurueck_url }}/{{ device.id }}/debug-modus/aktivieren">
|
|
<button type="submit" class="secondary outline">Debug-Modus aktivieren (6 Stunden)</button>
|
|
</form>
|
|
{% endif %}
|
|
</section>
|
|
|
|
{% 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 %}
|