Terminplaner: Portal-Ansicht – Nachbesserungen (2/2)
- Annehmen mit Rueckfrage in der Seite (schliesst den Vertrag, schickt G02) - Offene Anfragen: alle bis Ende des Buchungszeitraums (Fenster zu je 62 Tagen, hoechstens 6 Aufrufe), passend zur Zahl auf Kachel und Banner - Meldung ins Bild geholt, Fehler mit Fokus; einzige Live-Region - Netzwerkfehler auf Deutsch; Antwort einer frueheren Website erscheint nie unter der neuen (Zaehler je Aufruf); Datumssprung nur mit echtem Tag - Ende um Mitternacht als 24:00, Statusfilter nach Eintragen auf Alle, abgeschaltet ohne Einstellung mit Export-Link, dunkles Datumsfeld - Playwright: Zeitzone New York/Berlin, ferne Anfragen, Projektwechsel, Meldung im Bild, Datumssprung, abgeschaltet ohne Einstellung Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
9c07f6a8c5
commit
650919b022
10 files changed
+410
-73
No files matched your search
@@ -24,14 +24,9 @@ export function schliesseFrage(t, fokus = false) {
|
||||
|
||||
export function starteAktion(t, li, b, art, knopf) {
|
||||
t.ctx.meldung('')
|
||||
if (art === 'annehmen') {
|
||||
schliesseFrage(t)
|
||||
fuehreAus(t, b, { aktion: 'annehmen' }, b.gastEmail ? `Anfrage angenommen. ${b.gastName} bekommt eine Bestätigung per E-Mail.` : 'Anfrage angenommen.', null, knopf)
|
||||
return
|
||||
}
|
||||
schliesseFrage(t)
|
||||
const zu = () => schliesseFrage(t, true)
|
||||
const fragen = { ablehnen: frageAblehnen, absagen: frageAbsagen, verschieben: frageVerschieben, nichterschienen: frageNichtErschienen, anonymisieren: frageAnonymisieren, entsperren: frageEntsperren }
|
||||
const fragen = { annehmen: frageAnnehmen, ablehnen: frageAblehnen, absagen: frageAbsagen, verschieben: frageVerschieben, nichterschienen: frageNichtErschienen, anonymisieren: frageAnonymisieren, entsperren: frageEntsperren }
|
||||
const box = fragen[art](t, b, zu)
|
||||
li.querySelector('[data-frage]').replaceChildren(box)
|
||||
li.classList.add('tm-offen')
|
||||
@@ -80,6 +75,20 @@ function knopfZeile(bestaetigen, zu) {
|
||||
return { ok, zeile: h('div', { class: 'tm-frage-knoepfe' }, ok, h('button', { type: 'button', class: 'kb-btn-outline', onclick: zu }, 'Abbrechen')) }
|
||||
}
|
||||
|
||||
// Annehmen schliesst den Vertrag und verschickt die Bestaetigung (G02): wie jede Aktion erst nach einer Rueckfrage in der Seite
|
||||
function frageAnnehmen(t, b, zu) {
|
||||
const { ok, zeile } = knopfZeile('Annehmen', zu)
|
||||
const form = frage('Anfrage annehmen?',
|
||||
h('p', null, b.gastEmail
|
||||
? `${b.gastName} bekommt eine Bestätigung per E-Mail. Mit dem Annehmen kommt der Termin zustande.`
|
||||
: 'Der Gast bekommt keine E-Mail, weil keine Adresse hinterlegt ist. Mit dem Annehmen kommt der Termin zustande.'),
|
||||
allgemeinerFehler(),
|
||||
zeile)
|
||||
const erfolg = b.gastEmail ? `Anfrage angenommen. ${b.gastName} bekommt eine Bestätigung per E-Mail.` : 'Anfrage angenommen.'
|
||||
form.addEventListener('submit', () => fuehreAus(t, b, { aktion: 'annehmen' }, erfolg, form, ok))
|
||||
return form
|
||||
}
|
||||
|
||||
function frageAblehnen(t, b, zu) {
|
||||
const nachricht = h('textarea', { rows: '3', maxlength: String(MAX.nachricht) })
|
||||
const { ok, zeile } = knopfZeile('Anfrage ablehnen', zu)
|
||||
|
||||
Reference in new issue
Block a user