Rechtstexte: Dokument-Registry und Fassungskonstante des Terminplaners
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
938b7099dd
commit
b20d0464c4
6 files changed
+414
-53
No files matched your search
+37
-2
@@ -145,6 +145,25 @@ const ustHinweis = 'ohne Umsatzsteuer gemäß § 19 UStG'
|
||||
|
||||
const ticketProjektName = (project) => project?.projectName || project?.subdomain || ''
|
||||
|
||||
/**
|
||||
* Rechtsunterlage des Terminplaners mit Fassung und Adresse aus config.termine.avvVersion (bei jedem Zugriff gelesen).
|
||||
* Tests duerfen sie ueberschreiben (Zuweisung); wird der aktuelle Standardwert zurueckgeschrieben (Wiederherstellen nach
|
||||
* dem Test) oder null/undefined zugewiesen, gilt wieder der Standard und die Unterlage folgt der Konstante.
|
||||
*/
|
||||
function termineRechtsunterlage(slug) {
|
||||
let ueberschrieben = null
|
||||
const standard = () => ({ version: config.termine.avvVersion, url: `/rechtliches/${slug}-${config.termine.avvVersion}.html` })
|
||||
return {
|
||||
get: () => ueberschrieben ?? standard(),
|
||||
set(wert) {
|
||||
const std = standard()
|
||||
ueberschrieben = wert == null || (wert.version === std.version && wert.url === std.url) ? null : wert
|
||||
},
|
||||
}
|
||||
}
|
||||
const termineLb = termineRechtsunterlage('leistungsbeschreibung-terminplaner')
|
||||
const termineAvv = termineRechtsunterlage('avv-terminplaner')
|
||||
|
||||
/**
|
||||
* Register der kaufbaren Funktionen (News-Pinnwand, Terminplaner): Preis, Zustimmungen, Rechtsunterlagen,
|
||||
* Ticket- und Mail-Texte je Funktion; reine Daten, config.js importiert keine Dienste. Die Helfer (featureConfig,
|
||||
@@ -234,8 +253,20 @@ const features = {
|
||||
},
|
||||
],
|
||||
},
|
||||
leistungsbeschreibung: { version: 'ENTWURF', url: '' },
|
||||
avv: { version: 'ENTWURF', url: '' },
|
||||
// Fassung und Adresse folgen config.termine.avvVersion bei jedem Zugriff (Slugs wie in services/legalDocs.js; config.js
|
||||
// importiert keine Dienste, test/legalDocs.test.js gleicht beide ab)
|
||||
get leistungsbeschreibung() {
|
||||
return termineLb.get()
|
||||
},
|
||||
set leistungsbeschreibung(wert) {
|
||||
termineLb.set(wert)
|
||||
},
|
||||
get avv() {
|
||||
return termineAvv.get()
|
||||
},
|
||||
set avv(wert) {
|
||||
termineAvv.set(wert)
|
||||
},
|
||||
widerruf: null,
|
||||
returnHash: 'termine',
|
||||
returnProjekt: true,
|
||||
@@ -527,6 +558,10 @@ export const config = {
|
||||
.split(',')
|
||||
.map((s) => s.trim().toLowerCase())
|
||||
.filter(Boolean),
|
||||
// Fassung der Terminplaner-Bestellunterlagen (Leistungsbeschreibung, AVV, Widerrufsbelehrung, Bestelltexte, News-
|
||||
// Zustimmung): Berliner Kalendertag des Fassungs-Commits (JJJJ-MM-TT). Eine ausgelieferte Fassung wird nie
|
||||
// ueberschrieben: nach Uebergabe an die Kanzlei oder Livegang heisst jede Textaenderung neues Datum und neue Dateien.
|
||||
avvVersion: '2026-10-05',
|
||||
holdMinutes: 30,
|
||||
zelleMin: 5,
|
||||
mailsProStunde: 200,
|
||||
|
||||
Reference in new issue
Block a user