feat(org-detail): Nutzer-Verwaltung in die Lizenz- und Kontingent-Karte
Die Karte heißt jetzt "Lizenz, Nutzer & Credits-Kontingent bearbeiten" und enthält alles Einstellbare einer Organisation untereinander, Lizenz-Tabelle, Nutzer-Verwaltung (Limit-Anzeige, Nutzer anlegen, Nutzerliste) und das Kontingent-Formular. Der separate Nutzer-Block entfällt, das Org-Detail ist damit ein einziger Bereich. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Dieser Commit ist enthalten in:
@@ -1407,8 +1407,6 @@ details.adv-section .adv-hint { grid-column: 1 / -1; font-size: 12px; color: var
|
|||||||
|
|
||||||
.org-block { margin-top: 26px; scroll-margin-top: 120px; }
|
.org-block { margin-top: 26px; scroll-margin-top: 120px; }
|
||||||
#sub-tokens { order: 2; }
|
#sub-tokens { order: 2; }
|
||||||
#sub-users { order: 3; }
|
|
||||||
#sub-settings { order: 4; }
|
|
||||||
.org-block-title {
|
.org-block-title {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
margin-bottom: 12px;
|
margin-bottom: 12px;
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<title>AegisSight Monitor-Verwaltung</title>
|
<title>AegisSight Monitor-Verwaltung</title>
|
||||||
<link rel="icon" type="image/svg+xml" href="/static/favicon.svg">
|
<link rel="icon" type="image/svg+xml" href="/static/favicon.svg">
|
||||||
<link rel="apple-touch-icon" href="/static/favicon.svg">
|
<link rel="apple-touch-icon" href="/static/favicon.svg">
|
||||||
<link rel="stylesheet" href="/static/css/style.css?v=20260725e">
|
<link rel="stylesheet" href="/static/css/style.css?v=20260725f">
|
||||||
<script>(function(){var t=localStorage.getItem('portal_theme');if(t==='light')document.documentElement.setAttribute('data-theme','light');try{var a=JSON.parse(localStorage.getItem('osint_a11y')||'{}');Object.keys(a).forEach(function(k){if(a[k])document.documentElement.setAttribute('data-a11y-'+k,'true');});}catch(e){}})()</script>
|
<script>(function(){var t=localStorage.getItem('portal_theme');if(t==='light')document.documentElement.setAttribute('data-theme','light');try{var a=JSON.parse(localStorage.getItem('osint_a11y')||'{}');Object.keys(a).forEach(function(k){if(a[k])document.documentElement.setAttribute('data-a11y-'+k,'true');});}catch(e){}})()</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
@@ -149,34 +149,8 @@
|
|||||||
<button class="detail-back" id="orgBackBtn">← Zurück</button>
|
<button class="detail-back" id="orgBackBtn">← Zurück</button>
|
||||||
<div id="orgDetailHeader"></div>
|
<div id="orgDetailHeader"></div>
|
||||||
|
|
||||||
<!-- Alles auf einer Seite, Anzeige-Reihenfolge steuert CSS (order),
|
<!-- Alles auf einer Seite. Die Nutzer-Verwaltung steckt mit in der
|
||||||
Verbrauch steht optisch zuerst. -->
|
Karte "Lizenz, Nutzer & Credits-Kontingent bearbeiten". -->
|
||||||
<!-- Bereich: Nutzer -->
|
|
||||||
<div class="org-block" id="sub-users">
|
|
||||||
<h2 class="org-block-title">Nutzer</h2>
|
|
||||||
<div class="action-bar">
|
|
||||||
<span class="text-secondary" id="userLimitInfo"></span>
|
|
||||||
<button class="btn btn-primary" id="newUserBtn"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg>Nutzer anlegen</button>
|
|
||||||
</div>
|
|
||||||
<div class="card">
|
|
||||||
<div class="table-wrap">
|
|
||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>E-Mail</th>
|
|
||||||
<th>Rolle</th>
|
|
||||||
<th>Status</th>
|
|
||||||
<th>Globe</th>
|
|
||||||
<th>Netzwerk</th>
|
|
||||||
<th>Aktionen</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody id="userTable"></tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Der fruehere Einstellungen-Block ist aufgeloest. Status und
|
<!-- Der fruehere Einstellungen-Block ist aufgeloest. Status und
|
||||||
Pipeline-Sprache sind direkt in der Lizenz-Tabelle umschaltbar,
|
Pipeline-Sprache sind direkt in der Lizenz-Tabelle umschaltbar,
|
||||||
Umbenennen und Loeschen sitzen in der Kopfzeile. -->
|
Umbenennen und Loeschen sitzen in der Kopfzeile. -->
|
||||||
@@ -214,8 +188,8 @@
|
|||||||
<a href="#" onclick="openRechnerTab(); return false;" style="color:var(--accent);">Verbrauchsrechner öffnen</a></span>
|
<a href="#" onclick="openRechnerTab(); return false;" style="color:var(--accent);">Verbrauchsrechner öffnen</a></span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<!-- An zweiter Stelle: Lizenz und Kontingent in EINER Karte einstellbar -->
|
<!-- An zweiter Stelle: Lizenz, Nutzer und Kontingent in EINER Karte -->
|
||||||
<h3 style="margin-top:24px;">Lizenz & Credits-Kontingent bearbeiten</h3>
|
<h3 style="margin-top:24px;">Lizenz, Nutzer & Credits-Kontingent bearbeiten</h3>
|
||||||
<div class="card" style="margin-top:12px;">
|
<div class="card" style="margin-top:12px;">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<span class="text-secondary" style="font-size:13px;">Aktive und frühere Lizenzen dieser Organisation</span>
|
<span class="text-secondary" style="font-size:13px;">Aktive und frühere Lizenzen dieser Organisation</span>
|
||||||
@@ -237,6 +211,25 @@
|
|||||||
<tbody id="licenseTable"></tbody>
|
<tbody id="licenseTable"></tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="card-header" style="border-top:1px solid var(--border);">
|
||||||
|
<span class="text-secondary" style="font-size:13px;" id="userLimitInfo"></span>
|
||||||
|
<button class="btn btn-primary btn-small" id="newUserBtn"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg>Nutzer anlegen</button>
|
||||||
|
</div>
|
||||||
|
<div class="table-wrap">
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>E-Mail</th>
|
||||||
|
<th>Rolle</th>
|
||||||
|
<th>Status</th>
|
||||||
|
<th>Globe</th>
|
||||||
|
<th>Netzwerk</th>
|
||||||
|
<th>Aktionen</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody id="userTable"></tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
<div class="card-body" style="border-top:1px solid var(--border);">
|
<div class="card-body" style="border-top:1px solid var(--border);">
|
||||||
<form id="tokenBudgetForm" style="display:grid; grid-template-columns:1fr 1fr; gap:12px;">
|
<form id="tokenBudgetForm" style="display:grid; grid-template-columns:1fr 1fr; gap:12px;">
|
||||||
<div style="grid-column:1/-1; padding:8px 12px; background:var(--bg-tertiary); border-radius:6px; border:1px solid var(--border);">
|
<div style="grid-column:1/-1; padding:8px 12px; background:var(--bg-tertiary); border-radius:6px; border:1px solid var(--border);">
|
||||||
|
|||||||
In neuem Issue referenzieren
Einen Benutzer sperren