Kundenansicht neu P10: Korrekturen aus der Pruefung (Task 3)

Archiv v5 bei on für Fassung-5-Zustimmungen (termsDocFor archiv), /auftrag.html in der Weiche (Übersicht N40), Test mit dem echten Schalter, Hinweise zu Task 14

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Opus 5.5 committed 2026-10-29 12:07:57 +00:00
1 parent 3413355b14
commit db5e6ece2c
6 files changed
+88 -5

No files matched your search

+3 -2
View File
@@ -24,7 +24,7 @@ import { assertOwnProject, handleFeatureCheckoutEvent, isFeatureCheckoutEvent, l
import { featureConfig } from '../services/featureRegistry.js'
import { istAboModell } from '../services/aboModell.js'
import { ENTHALTEN_IN, aboModellFuerKunde } from '../services/aboFunktionen.js'
import { neueAnsicht } from '../services/kundenansicht/schalter.js'
import { neueAnsicht, neueAnsichtModus } from '../services/kundenansicht/schalter.js'
import { FEHLER_BEDINGUNGEN, FEHLER_NACHWEIS, FEHLER_UNVOLLSTAENDIG, WECHSEL_GESPERRT, bestelltexteFuerClient, bestellZeile, nachweisTexte } from '../services/bestelltexte.js'
import { kundenartWirksam } from '../services/kundenart.js'
import { fassungDerAnfrage, istNeueFassung, speichereNachweisFuerRoute } from '../services/vertragsNachweis.js'
@@ -117,7 +117,8 @@ function publicSubscription(sub, events = []) {
if (until > new Date()) withdrawals.push({ type: 'abschluss', eventId: null, until })
}
const withdrawalUntil = withdrawals.reduce((latest, w) => (!latest || w.until > latest ? w.until : latest), null)
const terms = termsDocFor(sub.termsVersion)
// Bei on liefert die Umschalt-Weiche (P10) unter /abo-bedingungen.html Fassung 6: wer Fassung 5 zugestimmt hat, bekommt das Archiv v5
const terms = termsDocFor(sub.termsVersion, { archiv: neueAnsichtModus() === 'on' })
return {
status: sub.status,
active,
+1
View File
@@ -18,6 +18,7 @@ export const UMSCHALT_SEITEN = Object.freeze({
'/login.html': 'neu/oeffentlich/login.html',
'/kuendigen.html': 'neu/oeffentlich/kuendigen.html',
'/widerrufen.html': 'neu/oeffentlich/widerrufen.html',
'/auftrag.html': 'neu/oeffentlich/auftrag.html', // Link der Auftragsbestaetigung (/auftrag.html#t=<Token>), Uebersicht N40
'/offline.html': 'neu/oeffentlich/offline.html',
'/manifest.webmanifest': 'neu/manifest.webmanifest',
})
+7 -3
View File
@@ -33,7 +33,7 @@ export const TERMS_VERSION_V3 = '2026-09-25-v3'
* Fassungstabelle der Abo-Bedingungen (V12). Reihenfolge = Suche: der erste Eintrag, dessen muster auf die
* gespeicherte Fassung passt (nur als Endung, nie "-v60" oder "v6-..."), sonst der Eintrag sonst (Fassung 3).
* Fassung 6 liegt bis zum Umschalten (P10) im Vorschaupfad /neu/rechtliches/; Fassung 5 bleibt an den heutigen
* Adressen, archiv nennt die Adressen der Kopie unter public/vertragsunterlagen/v5/ (erst P10 schaltet sie ein).
* Adressen, archiv nennt die Adressen der Kopie unter public/vertragsunterlagen/v5/ (P10 schaltet sie bei on ein, siehe termsDocFor).
* endParagraph: der Paragraph zum Vertragsende (Daten, AuthCode, Loeschung) fuer die Mails K02/K03/T05/T07 (F08).
*/
export const FASSUNGEN = Object.freeze([
@@ -103,12 +103,16 @@ export function isTermsV4OrNewer(termsVersion) {
* damit Versionsangabe und PDF-Anhang immer zusammenpassen (Task 12 Fix 1).
* endParagraph: der Paragraph zum Vertragsende (Daten, AuthCode, Loeschung) in dieser Fassung, fuer die
* Mails K02/K03/T05/T07 (F08) - ab Fassung 4 ist § 9 der Wechsel zwischen den Abos, § 11 das Vertragsende.
* archiv: true nennt statt der heutigen Adressen die Kopie unter public/vertragsunterlagen/v5/, wo die Tabelle ein Feld
* archiv hat (nur Fassung 5). Das braucht die Anzeige im Portal, sobald die Umschalt-Weiche (P10) unter
* /abo-bedingungen.html Fassung 6 liefert; Mail-Anhaenge rufen ohne archiv auf (gleiche PDF-Bytes).
* Die Rueckgabe hat immer nur diese vier Felder (kein archiv, muster, nummer).
*/
export function termsDocFor(termsVersion) {
export function termsDocFor(termsVersion, { archiv = false } = {}) {
const f = fassungFuer(termsVersion)
const version = typeof termsVersion === 'string' && termsVersion ? termsVersion : TERMS_VERSION_V3
return { version, url: f.url, pdfFile: f.pdfFile, endParagraph: f.endParagraph }
const doc = archiv && f.archiv ? f.archiv : f
return { version, url: doc.url, pdfFile: doc.pdfFile, endParagraph: f.endParagraph }
}
/** Katalogname ohne "WEBklar " (z. B. "Hosting-Abo") fuer {{produkt}} in den Mails (F33); ohne Schluessel "Abo". */