Vertrag kopieren: neuen eigenstaendigen Vertrag aus Vorlage anlegen

Kopieren-Button in der Vertragsansicht oeffnet das Neu-Formular unter
/contracts/new?copyFrom=<id> mit allen Daten des Quellvertrags
vorbefuellt. Beim Speichern entsteht ein frischer, unabhaengiger
Vertrag (kein previousContractId-Link, kein VVL).

Use-Case: neuer Mobilfunk-/o.ae. Vertrag ist meist fast identisch;
nur Preis, Laufzeit, Kunden-/Vertragsnummer, Anbieter/Tarif aendern
sich - der Rest bleibt gleich.

Im Kopier-Modus geleert (Integritaet/Eindeutigkeit): Status->DRAFT,
Vorgaenger-Link, alle Datumsfelder, Kunden-/Vertragsnummer beim
Anbieter + Plattform-Nummern, Portal-Zugang. SIM-Karten & Rufnummern
werden nicht uebernommen. Rest (Anbieter/Tarif/Preise/Detailfelder/
Notizen) bleibt als Vorlage.

Rein Frontend (ContractForm copy-Mode + Button in ContractDetail),
kein neuer Endpoint - nutzt bestehendes Create.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-03 12:44:49 +02:00
co-authored by Claude Opus 4.8
parent 5bbb7dfffe
commit a2ed0e94f1
3 changed files with 98 additions and 12 deletions
+17
View File
@@ -97,6 +97,23 @@ isolierte Instanz (keine Multi-Tenancy im Code), Provisioning + Abrechnung
## ✅ Erledigt
- [x] **📄➕ Vertrag kopieren (neuer eigenständiger Vertrag aus Vorlage)** (2026-08-03)
- „Kopieren"-Button in der Vertragsansicht (`contracts:create`) → öffnet das
Neu-Formular unter `/contracts/new?copyFrom=<id>&customerId=<cid>` mit
ALLEN Daten des Quellvertrags vorbefüllt. Beim Speichern entsteht ein
frischer, unabhängiger Vertrag (kein `previousContractId`-Link, kein VVL).
- Use-Case: neuer Mobilfunk-/o.ä. Vertrag ist meist fast identisch nur
Preis, Laufzeit, Kunden-/Vertragsnummer, Anbieter/Tarif ändern sich.
- Geleert im Kopier-Modus (Integrität / Eindeutigkeit): Status→DRAFT,
Vorgänger-Link, alle Datumsfelder (Start/Ende/Installation/Kündigungs-
bestätigung), Kunden-/Vertragsnummer beim Anbieter + Plattform-Nummern,
Portal-Benutzer/Passwort. **Nicht** übernommen: SIM-Karten & Rufnummern
(hardware-/vertragsspezifisch, eindeutige Nummern). Rest (Anbieter/Tarif,
Preise, alle Detailfelder, Notizen) bleibt als Vorlage.
- Rein Frontend (`ContractForm` copy-Mode + Button in `ContractDetail`);
kein neuer Endpoint nutzt bestehendes Create. Blauer Hinweis-Banner
„Kopie … neuer eigenständiger Vertrag" im Formular.
- [~] **🖱️ PDF-Drag-and-Drop aus Bankkarte/Ausweis — VERWORFEN** (2026-07-30)
- Idee: hinterlegten Scan per Drag direkt in Mail-Anhang/Datei-Explorer
ziehen. Über mehrere Iterationen durchgespielt (Chromium-`DownloadURL`