diff --git a/public/termine-tab-einstellungen.js b/public/termine-tab-einstellungen.js index 0627bf4..ab79aea 100644 --- a/public/termine-tab-einstellungen.js +++ b/public/termine-tab-einstellungen.js @@ -62,7 +62,8 @@ export function render(panel, ctx) { if (!ok || !sp.nochHier()) return nachSpeichern(t, 'Einstellungen gespeichert.', 'form[aria-label="Einstellungen"] button[type="submit"]') }) - wurzel.replaceChildren(sp.konflikt, form, einbau(ctx), exportUndStatus(ctx)) + // einbau() liefert null (abgeschaltet oder ohne Code): replaceChildren wuerde sonst den Text "null" zeigen + wurzel.replaceChildren(...[sp.konflikt, form, einbau(ctx), exportUndStatus(ctx)].filter(Boolean)) } zeichne() } diff --git a/server/services/termine/jobs.js b/server/services/termine/jobs.js index cceca10..a9ceda3 100644 --- a/server/services/termine/jobs.js +++ b/server/services/termine/jobs.js @@ -318,8 +318,8 @@ async function loeschfristen(lauf, now) { const ABGESCHALTET_NEU_PRUEFEN_ALLE = 50 /** - * Gilt die Funktion unmittelbar vor einem unwiderruflichen Loeschschritt noch als abgeschaltet? Frisch gelesen, weil ein Wieder- - * einschalten durch das Personal (siteFeatures.activate) weder sperrt noch disabledAt loescht: featureKey termine, state disabled + * Gilt die Funktion unmittelbar vor einem unwiderruflichen Loeschschritt noch als abgeschaltet? Frisch gelesen, weil das Personal + * sie zwischen Liste und Loeschen wieder einschalten kann (siteFeatures.activate sperrt nicht; es leert disabledAt): featureKey termine, state disabled * und disabledAt vor der Grenze. Sonst false mit Log, ohne Wurf – auch bei einem Lesefehler: im Zweifel wird nichts geloescht. */ async function nochAbgeschaltet(lauf, funktionId, grenze) {