FIX-CFG-01: Unchecked checkbox → False (statt Wert beibehalten)
Bug: Wenn ein User eine Bool-Checkbox unchecked ließ, sendete der Browser das Form-Field gar nicht. /api/plugin_config und /plugins/<idx> machten 'continue' und überschrieben den alten True-Wert nie. Fix: Bei ftype=bool und form_val=None explizit new_cfg[key] = False setzen. Betrifft z.B. clock_wordclock.show_date/show_weekday/show_es_ist.
This commit is contained in:
@@ -197,7 +197,10 @@ def save_plugin_config(idx):
|
||||
new_cfg[key] = form_val
|
||||
continue
|
||||
if form_val is None:
|
||||
continue
|
||||
if ftype == "bool":
|
||||
new_cfg[key] = False
|
||||
else:
|
||||
continue
|
||||
try:
|
||||
if ftype == "int":
|
||||
new_cfg[key] = int(form_val)
|
||||
@@ -476,7 +479,10 @@ def api_plugin_config(plugin_name):
|
||||
form_val = request.form.get(f"config_{key}")
|
||||
ftype = field.get("type", "string")
|
||||
if form_val is None:
|
||||
continue
|
||||
if ftype == "bool":
|
||||
new_cfg[key] = False # unchecked checkbox → False
|
||||
else:
|
||||
continue
|
||||
if ftype == "secret":
|
||||
# Nur überschreiben wenn nicht leer
|
||||
existing = cfg.get("plugin_configs", {}).get(plugin_name, {}).get(key, "")
|
||||
|
||||
Reference in New Issue
Block a user