Terminplaner: Hinweistexte nach Recherche, Storno nur bei Preis
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
722c686690
commit
6ec8885bfd
11 files changed
+230
-21
No files matched your search
+14
-5
@@ -179,6 +179,14 @@
|
||||
}
|
||||
// @telefon-ende
|
||||
|
||||
// @storno-anfang (reine Funktion, test/termineEmbedStatic.test.js fuehrt sie einzeln aus)
|
||||
// Gelten die Stornobedingungen des Betriebs fuer diese Leistung? Nur bei einer Leistung mit Preis (l.preis ist der Preistext des Servers,
|
||||
// bei kostenlosen Leistungen ''), wie der Server den Haken nur dort verlangt: ohne Preis gibt es weder die Box noch den Haken noch die Pruefung.
|
||||
function stornoGilt (storno, l) {
|
||||
return !!storno && !!l && typeof l.preis === 'string' && l.preis !== ''
|
||||
}
|
||||
// @storno-ende
|
||||
|
||||
function apiBasis (root) {
|
||||
var a = String(root.getAttribute('data-api') || '').replace(/\/+$/, '')
|
||||
if (a) return a
|
||||
@@ -1212,9 +1220,10 @@
|
||||
|
||||
// Stornoregel im Klartext, daneben der Link auf die AGB des Betriebs (nur https, wenn hinterlegt)
|
||||
var agbUrl = httpsUrl(c.betrieb.agbUrl)
|
||||
if ((c.storno && istText(c.storno.text)) || agbUrl) {
|
||||
var stornoAn = stornoGilt(c.storno, l)
|
||||
if ((stornoAn && istText(c.storno.text)) || agbUrl) {
|
||||
var sb = el('div', 'wkt-box')
|
||||
if (c.storno && istText(c.storno.text)) {
|
||||
if (stornoAn && istText(c.storno.text)) {
|
||||
sb.appendChild(el('h3', '', 'Stornobedingungen'))
|
||||
sb.appendChild(el('p', '', c.storno.text))
|
||||
}
|
||||
@@ -1256,7 +1265,7 @@
|
||||
var form = el('form', 'wkt-form')
|
||||
form.noValidate = true
|
||||
var refs = {}
|
||||
if (c.storno) form.appendChild(haken(refs, 'storno', c.texte.storno, dd.storno, true, function (v) { dd.storno = v }))
|
||||
if (stornoAn) form.appendChild(haken(refs, 'storno', c.texte.storno, dd.storno, true, function (v) { dd.storno = v }))
|
||||
if (S.vorzeitig) form.appendChild(haken(refs, 'vorzeitig', c.texte.vorzeitig, dd.vorzeitig, true, function (v) { dd.vorzeitig = v }))
|
||||
if (c.erinnerung && c.erinnerung.anbieten === true) form.appendChild(haken(refs, 'erinnerung', c.texte.erinnerung, dd.erinnerung, false, function (v) { dd.erinnerung = v }))
|
||||
form.appendChild(honigfeld())
|
||||
@@ -1276,7 +1285,7 @@
|
||||
e.preventDefault()
|
||||
if (S.sendet) return
|
||||
var f = {}
|
||||
if (c.storno && !dd.storno) f.storno = T('Bitte bestätigen Sie, dass Sie die Stornobedingungen gelesen haben.', 'Bitte bestätige, dass du die Stornobedingungen gelesen hast.')
|
||||
if (stornoAn && !dd.storno) f.storno = T('Bitte bestätigen Sie, dass Sie die Stornobedingungen gelesen haben.', 'Bitte bestätige, dass du die Stornobedingungen gelesen hast.')
|
||||
if (S.vorzeitig && !dd.vorzeitig) f.vorzeitig = T('Bitte stimmen Sie der Leistung vor Ablauf der Widerrufsfrist ausdrücklich zu, sonst ist die Buchung nicht möglich.', 'Bitte stimme der Leistung vor Ablauf der Widerrufsfrist ausdrücklich zu, sonst ist die Buchung nicht möglich.')
|
||||
fehlerBox.textContent = ''
|
||||
if (Object.keys(f).length) {
|
||||
@@ -1310,7 +1319,7 @@
|
||||
nachricht: dd.nachricht.trim(),
|
||||
zusatz: zusatz,
|
||||
erinnerung: !!dd.erinnerung,
|
||||
zustimmungen: { storno: !!dd.storno, vorzeitig: !!dd.vorzeitig },
|
||||
zustimmungen: { storno: stornoGilt(S.cfg.storno, aktuelleLeistung()) && !!dd.storno, vorzeitig: !!dd.vorzeitig },
|
||||
kontakt_url: S.honig,
|
||||
formToken: S.cfg.formToken
|
||||
}).then(function (d) {
|
||||
|
||||
Reference in new issue
Block a user