feat(org-detail): Einstellungen-Block aufgelöst, alles direkt einstellbar

Der frühere Bereich Einstellungen ist weg, seine Inhalte sind dorthin
gewandert, wo man sie sieht.

- Org-Status (Aktiv/Deaktiviert) und Pipeline-Sprache sind neue Spalten
  in der Lizenz-Tabelle, in der aktiven Zeile direkt umschaltbar mit
  Sofort-Speicherung und Toast, widerrufene Zeilen zeigen einen Strich.
- Umbenennen (kleines Modal) und Organisation löschen (mit Rückfrage)
  sitzen als Knöpfe in der Kopfzeile der Organisation.
- Das Org-Detail besteht damit nur noch aus zwei Bereichen, Verbrauch &
  Kontingent und Nutzer. Kein Backend-Change nötig, PUT /api/orgs/{id}
  konnte Name, Status und Sprache schon immer einzeln ändern.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Dieser Commit ist enthalten in:
claude-dev
2026-07-25 15:42:42 +00:00
Ursprung 863e8835e4
Commit 2c3087e389
2 geänderte Dateien mit 142 neuen und 80 gelöschten Zeilen

Datei anzeigen

@@ -177,40 +177,9 @@
</div>
</div>
<!-- Bereich: Einstellungen -->
<div class="org-block" id="sub-settings">
<h2 class="org-block-title">Einstellungen</h2>
<div class="card">
<div class="card-body">
<form id="orgEditForm">
<div class="form-group">
<label for="editOrgName">Name</label>
<input type="text" id="editOrgName">
</div>
<div class="form-group">
<label>Status</label>
<select id="editOrgActive">
<option value="true">Aktiv</option>
<option value="false">Deaktiviert</option>
</select>
</div>
<div class="form-group">
<label for="editOrgLanguage">Pipeline-Sprache</label>
<select id="editOrgLanguage">
<option value="de">Deutsch</option>
<option value="en">English</option>
</select>
<small class="text-secondary">Bestimmt die Ausgabesprache der KI (Lagebild, Faktencheck, Recherche) und der sichtbarsten UI-Elemente fuer alle Nutzer dieser Organisation.</small>
</div>
<div style="display: flex; gap: 8px; margin-top: 16px;">
<button type="submit" class="btn btn-primary">Speichern</button>
<button type="button" class="btn btn-danger" id="deleteOrgBtn">Organisation löschen</button>
</div>
</form>
</div>
</div>
</div>
<!-- Der fruehere Einstellungen-Block ist aufgeloest. Status und
Pipeline-Sprache sind direkt in der Lizenz-Tabelle umschaltbar,
Umbenennen und Loeschen sitzen in der Kopfzeile. -->
<div class="org-block" id="sub-tokens">
<h2 class="org-block-title">Verbrauch &amp; Kontingent</h2>
<div class="token-overview">
@@ -261,6 +230,8 @@
<th>Gültig ab</th>
<th>Gültig bis</th>
<th>Status</th>
<th>Org-Status</th>
<th>Pipeline-Sprache</th>
<th>Aktionen</th>
</tr>
</thead>
@@ -776,6 +747,29 @@
</div>
<!-- Modal: Organisation umbenennen -->
<div class="modal-overlay" id="modalRenameOrg">
<div class="modal">
<div class="modal-header">
<h3>Organisation umbenennen</h3>
<button class="modal-close" onclick="closeModal('modalRenameOrg')">&times;</button>
</div>
<form id="renameOrgForm">
<div class="modal-body">
<div class="form-group">
<label for="renameOrgName">Name</label>
<input type="text" id="renameOrgName" required maxlength="200">
</div>
<div id="renameOrgError" class="error-msg" style="display:none"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" onclick="closeModal('modalRenameOrg')">Abbrechen</button>
<button type="submit" class="btn btn-primary">Speichern</button>
</div>
</form>
</div>
</div>
<!-- Modal: Lizenz verlängern (ersetzt das alte Browser-prompt) -->
<div class="modal-overlay" id="modalExtendLicense">
<div class="modal">
@@ -1169,7 +1163,7 @@
</div>
<script src="/static/js/a11y.js?v=20260725a"></script>
<script src="/static/js/app.js?v=20260725g"></script>
<script src="/static/js/app.js?v=20260725h"></script>
<script src="/static/js/sources.js?v=20260522x2"></script>
<script src="/static/js/x-scraper.js?v=20260522a"></script>
<script src="/static/js/source-health.js?v=20260509l"></script>