From e3022613141adfc3d98c5a6e195a7811e9d6b484 Mon Sep 17 00:00:00 2001 From: claude-dev Date: Sat, 25 Jul 2026 16:26:51 +0000 Subject: [PATCH] feat(org-detail): Altmodus-Felder aus allen Formularen entfernt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Kosten pro Credit (USD) und Budget-Limit (USD) gehörten zum abgeschalteten Altmodus (BILLING_MODE=actual) und sind aus dem Kontingent-Formular, dem Lizenz-Modal und der Org-Anlage entfernt. Der Erweitert-Bereich heißt jetzt "Verbrauch korrigieren" und enthält nur noch das Eingriffsfeld für den Verbrauchszähler. Die DB-Spalten, die API-Felder und der Rückfallmodus im Monitor bleiben unangetastet, falls der Altmodus je reaktiviert wird, setzt man die Werte per API. Co-Authored-By: Claude Fable 5 --- src/static/dashboard.html | 31 +++++-------------------------- src/static/js/app.js | 18 +++--------------- 2 files changed, 8 insertions(+), 41 deletions(-) diff --git a/src/static/dashboard.html b/src/static/dashboard.html index e0046d3..7665ceb 100644 --- a/src/static/dashboard.html +++ b/src/static/dashboard.html @@ -262,23 +262,14 @@
- Erweitert (Altmodus und Korrektur) + Erweitert (Verbrauch korrigieren)

- Die beiden USD-Felder gehören zum alten Abrechnungsmodus (BILLING_MODE=actual) - und haben im heutigen Pauschalmodus keine Wirkung auf den Kunden. Das - Korrektur-Feld überschreibt den Verbrauch der laufenden Periode direkt, - nur für bewusste Eingriffe gedacht. + Das Korrektur-Feld überschreibt den Verbrauchszähler der laufenden + Periode direkt, der Kunde sieht die Änderung sofort. Nur für bewusste + Eingriffe gedacht, z.B. Kulanz oder das Bereinigen von Fehlbuchungen.

-
- - -
-
- - -
@@ -621,10 +612,6 @@
-
- - -
@@ -720,14 +707,6 @@ -
- - -
-
- - -
- + diff --git a/src/static/js/app.js b/src/static/js/app.js index 6a2321e..8b4ea0e 100644 --- a/src/static/js/app.js +++ b/src/static/js/app.js @@ -680,9 +680,7 @@ function setupForms() { } if (!lic.unlimited_budget) { const ct = document.getElementById("newOrgLicCreditsTotal"); - const cpc = document.getElementById("newOrgLicCostPerCredit"); if (ct && ct.value) lic.credits_total = parseInt(ct.value); - if (cpc && cpc.value) lic.cost_per_credit = parseFloat(cpc.value); } const warn = document.getElementById("newOrgLicWarnPercent"); if (warn && warn.value) lic.budget_warning_percent = parseInt(warn.value); @@ -764,11 +762,7 @@ function setupForms() { body.credits_rollover = !!document.getElementById('newLicRollover').checked; if (!body.unlimited_budget) { const creditsTotal = document.getElementById('newLicCreditsTotal'); - const costPerCredit = document.getElementById('newLicCostPerCredit'); - const budgetUsd = document.getElementById('newLicBudgetUsd'); if (creditsTotal && creditsTotal.value) body.credits_total = parseInt(creditsTotal.value); - if (costPerCredit && costPerCredit.value) body.cost_per_credit = parseFloat(costPerCredit.value); - if (budgetUsd && budgetUsd.value) body.token_budget_usd = parseFloat(budgetUsd.value); } const warnEl = document.getElementById('newLicWarnPercent'); if (warnEl && warnEl.value) body.budget_warning_percent = parseInt(warnEl.value); @@ -1130,8 +1124,6 @@ async function loadOrgTokenUsage(orgId) { function fillBudgetForm(budget) { const el = (id, val) => { const e = document.getElementById(id); if (e && val != null) e.value = val; }; el('editCreditsTotal', budget.credits_total); - el('editCostPerCredit', budget.cost_per_credit); - el('editBudgetUsd', budget.token_budget_usd); el('editCreditsUsed', budget.credits_used ? Math.round(budget.credits_used) : 0); el('editWarnPercent', budget.budget_warning_percent); const periodSel = document.getElementById('editCreditsPeriod'); @@ -1151,7 +1143,7 @@ function fillBudgetForm(budget) { function onUnlimitedToggle() { const cb = document.getElementById('editUnlimitedBudget'); const isUnlimited = cb && cb.checked; - ['editCreditsTotal','editCostPerCredit','editBudgetUsd','editCreditsPeriod','editCreditsRollover','editWarnPercent'].forEach(function(id) { + ['editCreditsTotal','editCreditsPeriod','editCreditsRollover','editWarnPercent'].forEach(function(id) { const e = document.getElementById(id); if (e) { e.disabled = isUnlimited; @@ -1175,7 +1167,7 @@ function onEditPeriodChange() { function onNewLicUnlimitedToggle() { const cb = document.getElementById('newLicUnlimited'); const isUnlimited = cb && cb.checked; - ['newLicCreditsTotal','newLicCostPerCredit','newLicBudgetUsd','newLicCreditsPeriod','newLicRollover','newLicWarnPercent'].forEach(function(id) { + ['newLicCreditsTotal','newLicCreditsPeriod','newLicRollover','newLicWarnPercent'].forEach(function(id) { const e = document.getElementById(id); if (e) { e.disabled = isUnlimited; @@ -1212,7 +1204,7 @@ function onNewOrgLicTypeChange() { function onNewOrgLicUnlimitedToggle() { const cb = document.getElementById('newOrgLicUnlimited'); const isUnlimited = cb && cb.checked; - ['newOrgLicCreditsTotal','newOrgLicCostPerCredit','newOrgLicCreditsPeriod','newOrgLicRollover','newOrgLicWarnPercent'].forEach(function(id) { + ['newOrgLicCreditsTotal','newOrgLicCreditsPeriod','newOrgLicRollover','newOrgLicWarnPercent'].forEach(function(id) { const e = document.getElementById(id); if (e) { e.disabled = isUnlimited; @@ -1290,14 +1282,10 @@ document.addEventListener('DOMContentLoaded', function() { body.unlimited_budget = isUnlimited; var creditsTotal = document.getElementById('editCreditsTotal'); - var costPerCredit = document.getElementById('editCostPerCredit'); - var budgetUsd = document.getElementById('editBudgetUsd'); var creditsUsed = document.getElementById('editCreditsUsed'); if (!isUnlimited) { if (creditsTotal && creditsTotal.value) body.credits_total = parseInt(creditsTotal.value); - if (costPerCredit && costPerCredit.value) body.cost_per_credit = parseFloat(costPerCredit.value); - if (budgetUsd && budgetUsd.value) body.token_budget_usd = parseFloat(budgetUsd.value); // Periode und Uebertrag IMMER senden (nicht ueber das if-value-Muster), // sonst laesst sich der Uebertrag nie abschalten und die Periode nie // zurueckstellen. Laufzeitfelder (credits_carried, credits_period_start,