36 lines
1.5 KiB
JavaScript
36 lines
1.5 KiB
JavaScript
import { config } from '../../config.js'
|
|
|
|
/**
|
|
* Buchungskalender-Schalter (Funktionsschluessel 'unterkunft'): UNTERKUNFT_ENABLED = off (Vorgabe) | pilot | on.
|
|
* Liest config.unterkunft bei jedem Aufruf. Bei off laufen keine Jobs und keine Abfragen des Moduls.
|
|
*/
|
|
|
|
/** 'off' | 'pilot' | 'on'; alles andere (leer, unbekannt) gilt als off. */
|
|
export function unterkunftModus() {
|
|
const mode = config.unterkunft.mode
|
|
return mode === 'pilot' || mode === 'on' ? mode : 'off'
|
|
}
|
|
|
|
/**
|
|
* Darf dieser Kunde den Buchungskalender nutzen? pilot = nur Adressen aus UNTERKUNFT_PILOT_EMAILS ('*' = alle; eine leere
|
|
* Liste laesst niemanden durch); on = alle Kunden; off = niemand.
|
|
*/
|
|
export function unterkunftFuerKunde(email) {
|
|
const modus = unterkunftModus()
|
|
if (modus === 'off') return false
|
|
if (modus === 'on') return true
|
|
const erlaubt = config.unterkunft.pilotEmails
|
|
if (erlaubt.includes('*')) return true
|
|
const adresse = String(email || '').trim().toLowerCase()
|
|
return adresse !== '' && erlaubt.includes(adresse)
|
|
}
|
|
|
|
/**
|
|
* Verlangt die Aktivierung durch das Team (WOMS, ohne Bestellung) die Zustimmung des Kunden in Textform (AVV Buchungskalender,
|
|
* Vorbemerkung Abs. 2)? Anders als beim Webshop auch im Pilot: der Buchungskalender wird zuerst fuer einen echten Kunden (Pilotadresse)
|
|
* ohne Bestellung freigeschaltet, dessen Zustimmung muss vorliegen. Nur bei off (Funktion ohnehin gesperrt) entfaellt sie.
|
|
*/
|
|
export function unterkunftTextformNoetig() {
|
|
return unterkunftModus() !== 'off'
|
|
}
|