Abo-Bedingungen Fassung 5: Unterstützung in § 4, Fassung 4 archiviert
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
88854aa2b4
commit
8acc743cf7
10 files changed
+538
-41
No files matched your search
@@ -25,26 +25,40 @@ export function getProduct(key) {
|
||||
return product
|
||||
}
|
||||
|
||||
/** Die archivierte Fassung 3 (public/vertragsunterlagen/v3): gilt fuer jede Zustimmung ohne Fassung "-v4". */
|
||||
/** Die archivierte Fassung 3 (public/vertragsunterlagen/v3): gilt fuer jede Zustimmung ohne Fassung "-v4"/"-v5". */
|
||||
export const TERMS_VERSION_V3 = '2026-09-25-v3'
|
||||
|
||||
/** Ist die Fassung die aktuelle Version 4 (Hosting- und Wartungs-Abo)? Aeltere und fehlende Fassungen: nein. */
|
||||
export function isTermsV4(termsVersion) {
|
||||
return typeof termsVersion === 'string' && termsVersion.endsWith('-v4')
|
||||
/** Aktuelle Fassung 5 (Unterstuetzung in § 4 Abs. 4)? */
|
||||
export function isCurrentTerms(termsVersion) {
|
||||
return typeof termsVersion === 'string' && termsVersion.endsWith('-v5')
|
||||
}
|
||||
|
||||
/** Fassung 4 oder neuer (Hosting- und Wartungs-Abo, Zusatzspeicher, Wechsel)? Aeltere und fehlende Fassungen: nein. */
|
||||
export function isTermsV4OrNewer(termsVersion) {
|
||||
return typeof termsVersion === 'string' && /-v[45]$/.test(termsVersion)
|
||||
}
|
||||
|
||||
/**
|
||||
* Vertragsunterlagen zur zugestimmten Fassung: Version 4 (Suffix "-v4") zeigt die aktuellen
|
||||
* Bedingungen samt PDF, jede aeltere Version (auch unbekannt/keine) das Archiv der Version 3.
|
||||
* Vertragsunterlagen zur zugestimmten Fassung: Fassung 5 (Suffix "-v5") zeigt die aktuellen Bedingungen samt PDF,
|
||||
* Fassung 4 das Archiv unter public/vertragsunterlagen/v4, jede aeltere Version (auch unbekannt/keine) das Archiv
|
||||
* der Version 3.
|
||||
* version: die Fassung, die eine Mail nennt - die gespeicherte, ohne gespeicherte die archivierte Fassung 3,
|
||||
* 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) - in Fassung 4 ist § 9 der Wechsel zwischen den Abos, § 11 das Vertragsende.
|
||||
* Mails K02/K03/T05/T07 (F08) - ab Fassung 4 ist § 9 der Wechsel zwischen den Abos, § 11 das Vertragsende.
|
||||
*/
|
||||
export function termsDocFor(termsVersion) {
|
||||
if (isTermsV4(termsVersion)) {
|
||||
if (isCurrentTerms(termsVersion)) {
|
||||
return { version: termsVersion, url: '/abo-bedingungen.html', pdfFile: 'WEBklar-Abo-Vertragsunterlagen.pdf', endParagraph: '§ 11' }
|
||||
}
|
||||
if (isTermsV4OrNewer(termsVersion)) {
|
||||
return {
|
||||
version: termsVersion,
|
||||
url: '/vertragsunterlagen/v4/abo-bedingungen.html',
|
||||
pdfFile: 'vertragsunterlagen/v4/WEBklar-Abo-Vertragsunterlagen.pdf',
|
||||
endParagraph: '§ 11',
|
||||
}
|
||||
}
|
||||
return {
|
||||
version: typeof termsVersion === 'string' && termsVersion ? termsVersion : TERMS_VERSION_V3,
|
||||
url: '/vertragsunterlagen/v3/abo-bedingungen.html',
|
||||
@@ -68,7 +82,7 @@ const PUBLIC_DIR = path.join(path.dirname(fileURLToPath(import.meta.url)), '..',
|
||||
*/
|
||||
export function contractAttachmentFor(termsVersion) {
|
||||
const { pdfFile } = termsDocFor(termsVersion)
|
||||
return { filename: pdfFile, path: path.join(PUBLIC_DIR, pdfFile) }
|
||||
return { filename: path.basename(pdfFile), path: path.join(PUBLIC_DIR, pdfFile) }
|
||||
}
|
||||
|
||||
/** Ansicht eines Produkts fuers Kundenportal (Vergleich, Bestellseite): Preis und Leistungen. */
|
||||
|
||||
Reference in new issue
Block a user