Kundenansicht neu P10: bei on gilt Fassung 5 aus einem alten Tab nicht mehr (409 Seite neu laden)

Ein Tab der alten Ansicht, der vor dem Umschalten geladen wurde, schickt weiter Fassung 5. Bei on zeigt /abo-bedingungen.html aber schon Fassung 6; ohne Sperre entstuende ein Vertrag nach Fassung 5. fassungDerAnfrage liefert dann null, Bestellung, Wechsel und Speicher antworten 409. Querpruefung Teil A.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Opus 5.5 committed 2026-10-29 12:26:21 +00:00
1 parent 34fa310f6c
commit 70f22d9541
3 files changed
+36 -4

No files matched your search

+7 -4
View File
@@ -1,7 +1,7 @@
import { config } from '../config.js'
import { createDocument } from './appwriteAdmin.js'
import { actingPerson, texteHash } from './featureConsents.js'
import { neueAnsicht } from './kundenansicht/schalter.js'
import { neueAnsicht, neueAnsichtModus } from './kundenansicht/schalter.js'
import { KUNDENARTEN } from './kundenart.js'
import { FEHLER_NACHWEIS, WORTLAUT_STATUS } from './bestelltexte.js'
@@ -27,13 +27,16 @@ const nichtLeer = (wert) => typeof wert === 'string' && wert.trim() !== ''
/**
* 'alt' | 'neu' | null. 'neu': termsVersion ist nichtleer, gleich config.abo.termsVersionNeu UND die Anfrage sieht die neue Ansicht.
* 'alt': termsVersion ist gleich config.abo.termsVersion. Alles andere (auch eine fehlende Neu-Fassung) ist null. Die Neu-Fassung
* wird zuerst geprueft: bei gleichen Werten gilt neueAnsicht(req) ? 'neu' : null (P10 aendert hier nichts).
* 'alt': termsVersion ist gleich config.abo.termsVersion und der Schalter steht nicht auf on. Alles andere (auch eine fehlende
* Neu-Fassung) ist null. Die Neu-Fassung wird zuerst geprueft: bei gleichen Werten gilt neueAnsicht(req) ? 'neu' : null.
* Bei on schickt die alte Fassung nur noch ein Tab der alten Ansicht, der vor dem Umschalten geladen wurde: null (die Routen antworten
* 409 "Seite neu laden"), sonst entstuende ein Vertrag nach Fassung 5, waehrend /abo-bedingungen.html schon Fassung 6 zeigt (P10).
*/
export function fassungDerAnfrage(req, termsVersion) {
if (!nichtLeer(termsVersion)) return null
if (istNeueFassung(termsVersion)) return neueAnsicht(req) ? 'neu' : null
return termsVersion === config.abo.termsVersion ? 'alt' : null
if (termsVersion !== config.abo.termsVersion) return null
return neueAnsichtModus() === 'on' ? null : 'alt'
}
/** Nichtleer und gleich config.abo.termsVersionNeu (ohne Sitzungsbezug; fuer Mails und Ereignisse). */