Vertrag kopieren: Portal-Zugangsdaten mitkopieren

Auf Wunsch: Portal-Benutzername + Stressfrei-Verknuepfung/'nicht
benoetigt'-Flag werden im Kopier-Modus behalten (bei gleichem Anbieter
oft identisch). Nur das Passwort bleibt leer, weil es verschluesselt
gespeichert und - wie beim Bearbeiten - nicht im Klartext ins Feld
geladen wird. Banner-Hinweis ergaenzt.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-03 12:58:41 +02:00
co-authored by Claude Opus 4.8
parent a2ed0e94f1
commit 2aee1f1114
2 changed files with 16 additions and 12 deletions
@@ -423,8 +423,10 @@ export default function ContractForm() {
orderNumberAtSalesPlatform: '',
customerNumberAtSalesPlatform: '',
contractNumberAtSalesPlatform: '',
// Portal-Zugang gehört zum konkreten Vertrag → frisch
portalUsername: '',
// Portal-Zugangsdaten (Benutzername/Stressfrei-Verknüpfung) bewusst
// BEHALTEN bei gleichem Anbieter oft identisch. Das Passwort liegt
// verschlüsselt vor und wird (wie beim Bearbeiten) nicht ins Feld
// geladen; es bleibt leer und kann bei Bedarf neu gesetzt werden.
});
}
@@ -495,11 +497,9 @@ export default function ContractForm() {
// Portal-Benutzername-Typ initialisieren.
// Opt-out („nicht benötigt") gewinnt vor Stressfrei/Manual, damit ein
// versehentlich noch alter portalUsername den Radio-Zustand nicht
// überstimmt. Im Kopier-Modus immer frisch (manuell, leer).
if (isCopy) {
setUsernameType('manual');
setSelectedStressfreiEmailId('');
} else if (c.portalCredentialsNotRequired) {
// überstimmt. Gilt auch im Kopier-Modus: Portal-Zugangsdaten werden
// mitkopiert (nur das Passwort bleibt leer, s.o.).
if (c.portalCredentialsNotRequired) {
setUsernameType('not_required');
setSelectedStressfreiEmailId('');
} else if (c.stressfreiEmailId) {
@@ -863,7 +863,8 @@ export default function ContractForm() {
<p className="ml-12 mt-1 text-sm text-blue-700 bg-blue-50 border border-blue-200 rounded px-2 py-1 inline-flex items-center gap-1">
<Copy className="w-4 h-4" />
Kopie eines bestehenden Vertrags wird als <strong>neuer eigenständiger Vertrag</strong> gespeichert.
Anbieter/Tarif, Preise, Kunden-/Vertragsnummern und Daten bitte prüfen.
Anbieter/Tarif, Preise, Kunden-/Vertragsnummern und Daten bitte prüfen. Portal-Benutzername
übernommen, Passwort ggf. neu setzen.
</p>
)}
{customer && (