Kundenansicht neu P7: Kündigen und Widerrufen in du (Fassung 6, C14)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Sonnet 5.5 committed 2026-10-16 20:24:31 +00:00
1 parent 9166e023c5
commit 036bf4b0b9
6 files changed
+145 -11

No files matched your search

+16
View File
@@ -3,6 +3,13 @@
// Der Kunde waehlt den Vertrag (Kuendigung: Abo oder nur der Zusatzspeicher, ganz oder mit Paketzahl) bzw. die
// Bestellung (Widerruf: Abschluss, Wechsel, Zusatzspeicher); die Auswahl geht in den Request und steht in der
// Bestaetigung. Nach dem Absenden: Bestaetigung mit Datum/Uhrzeit, speicher- und druckbar.
/** Paketzahl der Kündigung des Zusatzspeichers prüfen (nur die neue Seite mit data-anrede="du"): leer oder ganze Zahl von 1 bis max → '', sonst der du-Satz. */
function legalFormPaketeFehler(wert, max) {
const text = String(wert ?? '').trim()
if (text === '') return ''
return /^\d+$/.test(text) && Number(text) >= 1 && Number(text) <= max ? '' : `Bitte gib 1 bis ${max} Pakete an oder lass das Feld leer (alle Pakete).`
}
function initLegalForm({ endpoint, fields }) {
const form = document.getElementById('decl-form')
const done = document.getElementById('done')
@@ -51,6 +58,15 @@ function initLegalForm({ endpoint, fields }) {
for (const f of fields) payload[f] = String(form.elements[f]?.value ?? '').trim()
if (form.elements.when?.value === 'datum' && !storageOnly()) payload.effective = dateInput?.value || ''
if (form.elements.contract && !storageOnly()) delete payload.packages
// Neue Seite (data-anrede="du"): die Paketzahl wird hier geprüft, der Sie-Satz des Servers erreicht sie nicht
if (form.getAttribute('data-anrede') === 'du' && storageOnly()) {
const paketeFehler = legalFormPaketeFehler(payload.packages, Number(form.elements.packages?.max) || 10)
if (paketeFehler) {
errEl.textContent = paketeFehler
errEl.classList.remove('hidden')
return
}
}
const btn = form.querySelector('button[type="submit"]')
btn.disabled = true
try {