kundenplattform/templates/struktur_merkmale.html
Thomas Stallinger 232d621245 feat: Struktur (OE-Selfservice) + Gruppen-Verwaltung (Admin)
Kundenportal:
- Neue Seite /struktur - OE-Baum (rekursives Jinja-Makro), Anlegen/
  Umbenennen/Löschen (Standard-OE 'Neue Geräte' geschützt), Merkmale-
  Editor pro OE mit Tristate aktiv/inaktiv/nicht festgelegt.
- geraete_liste.html: neue Spalte 'OE', Aktionen-Dropdown um 'In OE
  verschieben' erweitert.
- auftragskatalog.html: zeigt jetzt die Herkunft einer Einstellung an
  (OE/Gruppe/manuell), sofern sie nicht vom Workspace-Default kommt.

Admin (/admin/kunden/{id}):
- Neue Sektion 'Gruppen' - Anlegen/Löschen, verlinkt auf neue
  Detailseite (admin/gruppe_detail.html) mit Merkmale-Editor (wie OE)
  und Geräte-Mitgliedschaft-Checkliste. Bewusst nur intern verwaltbar
  in v1 (siehe Konfigurationsgruppen-Diskussion).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-12 16:41:04 +02:00

58 lines
2.5 KiB
HTML

{% extends "base.html" %}
{% block title %}Merkmale {{ oe.name }} — Tuxflotte{% endblock %}
{% block content %}
<p><a href="/struktur">← Struktur</a></p>
<h2>Merkmale: {{ oe.name }}</h2>
<p>Legt fest, was Geräte in dieser OE (und ihren Unter-OEs, sofern dort nichts Spezifischeres gilt) standardmäßig bekommen. "Nicht festgelegt" überlässt die Entscheidung der nächsten Schicht (Gruppen, dann Workspace-Standard).</p>
{% if not kategorien %}
<p>Keine katalogfähigen Merkmale vorhanden.</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>
{% if eintrag.aktiv is none %}
<span class="state-absent">nicht festgelegt</span>
{% elif eintrag.aktiv %}
<span class="state-present">aktiv</span>
{% else %}
<span class="state-absent">inaktiv</span>
{% endif %}
</td>
<td>
{% if eintrag.aktiv != true %}
<form method="post" action="/struktur/{{ oe.id }}/merkmale/{{ eintrag.merkmal }}/select">
<button type="submit">Aktiv setzen</button>
</form>
{% endif %}
{% if eintrag.aktiv != false %}
<form method="post" action="/struktur/{{ oe.id }}/merkmale/{{ eintrag.merkmal }}/deselect">
<button type="submit" class="secondary">Inaktiv setzen</button>
</form>
{% endif %}
{% if eintrag.aktiv is not none %}
<form method="post" action="/struktur/{{ oe.id }}/merkmale/{{ eintrag.merkmal }}/unset">
<button type="submit" class="outline">Zurücksetzen</button>
</form>
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</figure>
</section>
{% endfor %}
{% endif %}
{% endblock %}