feat(260923-dhh): Proxmox-Modul Aufgabe 5 - Einstellungsseite (anlegen, bearbeiten, loeschen, testen)

- proxmox.service.ts: updateServer (Muster LdapConfigService.updateConfig
  - nicht gesendet laesst unveraendert, leer loescht, gefuellt
  verschluesselt neu; PMG+Token auch beim Bearbeiten abgelehnt, geprueft
  gegen den EFFEKTIVEN Stand nach Zusammenfuehren), deleteServer
- proxmox.controller.ts: PUT/DELETE servers/:id, beide zusaetzlich mit
  scheduler.refreshTenant() nach dem Schreiben
- Frontend: proxmox-api.ts (updateServer/deleteServer/testServer),
  settings/page.tsx (Rollenpruefung nur Anzeige, Serverliste,
  Loeschen mit Rueckfrage), ServerForm.tsx (PMG bietet Token gar nicht
  an, Geheimnisfelder nie vorbefuellt, Zertifikatspruefung-Schalter
  Standard "pruefen", Verbindungstest mit Klartext-Fehlertext)
- umlaut-dictionary.ts: zwei neue, bereits korrekte Woerter
  (bewusst/gemessene) auf die Positivliste des Regressions-Waechters

Tore: api 1311/1311 (>=1240), web 701/701 (>=693), type-check 4/4,
lint 5/5, Biome apps/web 53 Warnungen (unveraendert).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-23 14:41:21 +02:00
parent fccaf8db0f
commit 723cf6814b
10 changed files with 1112 additions and 10 deletions
+47 -1
View File
@@ -708,7 +708,53 @@
"description": "Zustand Ihrer Proxmox-Server (PVE/PBS/PMG) auf einen Blick — Tessera schaut nur zu, es verändert nichts.",
"loading": "Lade Serverliste...",
"loadError": "Die Serverliste konnte nicht geladen werden.",
"emptyState": "Noch kein Server eingetragen. Legen Sie in den Moduleinstellungen einen Server an."
"emptyState": "Noch kein Server eingetragen. Legen Sie in den Moduleinstellungen einen Server an.",
"errors": {
"netz": "Der Server ist nicht erreichbar. Bitte prüfen Sie die Adresse und die Netzwerkverbindung.",
"zugang": "Der Zugang wurde abgelehnt. Bitte prüfen Sie Benutzername und Passwort beziehungsweise die Token-Angaben.",
"rechte": "Die Rechte des hinterlegten Zugangs reichen nicht aus. Bitte prüfen Sie die zugewiesene Rolle am Proxmox-Server.",
"zertifikat": "Das Zertifikat des Servers wurde abgelehnt. Prüfen Sie die Adresse oder schalten Sie die Zertifikatsprüfung für diesen einen Server bewusst ab.",
"antwortform": "Die Antwort des Servers hatte nicht die erwartete Form. Bitte prüfen Sie die Adresse.",
"server": "Der Proxmox-Server meldet einen eigenen Fehler. Bitte versuchen Sie es später erneut.",
"unbekannt": "Ein unerwarteter Fehler ist aufgetreten."
},
"settings": {
"title": "Proxmox — Einstellungen",
"accessDeniedText": "Diese Seite steht nur Administratoren zur Verfügung.",
"addServer": "Server hinzufügen",
"noServers": "Noch kein Server eingetragen.",
"nameLabel": "Name",
"productTypeLabel": "Typ",
"productTypePve": "PVE",
"productTypePbs": "PBS",
"productTypePmg": "PMG",
"baseUrlLabel": "Adresse",
"authMethodLabel": "Zugangsart",
"authMethodToken": "API-Token",
"authMethodPassword": "Benutzer/Passwort",
"tokenIdLabel": "Token-Kennung",
"tokenSecretLabel": "Token-Geheimnis",
"usernameLabel": "Benutzername",
"passwordLabel": "Passwort",
"secretUnchangedPlaceholder": "Leer lassen, um das gespeicherte Geheimnis beizubehalten",
"pollIntervalLabel": "Abfrageintervall (Minuten)",
"tlsRejectLabel": "Zertifikat prüfen",
"tlsRejectHint": "Die Ausnahme gilt nur für diesen einen Server, niemals für alle Server gemeinsam.",
"activeLabel": "Aktiv",
"save": "Speichern",
"saving": "Wird gespeichert...",
"saveError": "Die Einstellungen konnten nicht gespeichert werden.",
"cancel": "Abbrechen",
"testConnection": "Verbindung testen",
"testTesting": "Verbindung wird getestet...",
"testSuccess": "Verbindung erfolgreich.",
"edit": "Bearbeiten",
"delete": "Löschen",
"deleteConfirmTitle": "Server löschen",
"deleteConfirmBody": "Möchten Sie den Server \"{name}\" wirklich löschen? Der zuletzt gemessene Stand wird mit entfernt.",
"deleteConfirmButton": "Löschen",
"deleteCancelButton": "Abbrechen"
}
},
"dkvFleet": {
"pageTitle": "DKV-Rechnung",