added disk-setup specfic sanity checks

This commit is contained in:
Natan Keddem
2024-05-12 14:17:43 -04:00
parent bba6410bbd
commit 779d25def5
2 changed files with 17 additions and 0 deletions

View File

@ -167,3 +167,14 @@ class Disk(Setting):
"btrfs.hdsize": {"description": ""},
}
super().__init__(answer, type="disk-setup", keys=keys)
def key_valid(self, key: str) -> bool:
if super().key_valid(key) is True:
if "filter" in key and "disk_list" in self._elements.keys():
el.Notification(f"Can not add {key} when disk_list is utilized!", type="negative", timeout=5)
return False
elif key == "disk_list" and any("filter" in k for k in self._elements.keys()):
el.Notification("Can not add disk_list when a filter is utilized!", type="negative", timeout=5)
return False
return True
return False

View File

@ -102,6 +102,12 @@ async def post_answer(request: Request) -> PlainTextResponse:
if "network" in default_data and "network" in answer_data:
default_data["network"].update(answer_data["network"])
if "disk-setup" in default_data and "disk-setup" in answer_data:
if any("filter" in k for k in answer_data["disk-setup"]):
del default_data["disk-setup"]["disk_list"]
if "disk_list" in answer_data["disk-setup"]:
for key in list(default_data["disk-setup"].keys()):
if "filter" in key:
del default_data["disk-setup"][key]
default_data["disk-setup"].update(answer_data["disk-setup"])
return response(answer, system_info, default_data)
return response("Default", system_info, default_data)