Fix: [ALAS] Checkbox cannot be dynamically updated

This commit is contained in:
LmeSzinc 2023-12-07 22:32:04 +08:00
parent 59a017c18d
commit a7ac003479
2 changed files with 14 additions and 2 deletions

View File

@ -71,6 +71,7 @@ from module.webui.utils import (
parse_pin_value, parse_pin_value,
raise_exception, raise_exception,
re_fullmatch, re_fullmatch,
to_pin_value,
) )
from module.webui.widgets import ( from module.webui.widgets import (
BinarySwitchButton, BinarySwitchButton,
@ -496,11 +497,10 @@ class AlasGUI(Frame):
valid.append(k) valid.append(k)
for set_key, set_value in config_updater.save_callback(k, v): for set_key, set_value in config_updater.save_callback(k, v):
logger.info([set_key, set_value, pin["_".join(set_key.split("."))]])
modified[set_key] = set_value modified[set_key] = set_value
deep_set(config, set_key, set_value) deep_set(config, set_key, set_value)
valid.append(set_key) valid.append(set_key)
pin["_".join(set_key.split("."))] = set_value pin["_".join(set_key.split("."))] = to_pin_value(set_value)
else: else:
modified.pop(k) modified.pop(k)
invalid.append(k) invalid.append(k)

View File

@ -427,6 +427,18 @@ def parse_pin_value(val, valuetype: str = None):
return v return v
def to_pin_value(val):
"""
Convert bool to checkbox
"""
if val is True:
return [True]
elif val is False:
return []
else:
return val
def login(password): def login(password):
if get_localstorage("password") == str(password): if get_localstorage("password") == str(password):
return True return True