Refactor render_env_page and _on_domain_change functions for improved clarity and functionality
This commit is contained in:
@@ -114,6 +114,7 @@ def _on_domain_change(domain_key: str, base_dn_key: str) -> None:
|
|||||||
st.session_state[base_dn_key] = _domain_to_dn(domain)
|
st.session_state[base_dn_key] = _domain_to_dn(domain)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def write_env(path: Path, values: dict[str, str]) -> None:
|
def write_env(path: Path, values: dict[str, str]) -> None:
|
||||||
path.parent.mkdir(parents=True, exist_ok=True)
|
path.parent.mkdir(parents=True, exist_ok=True)
|
||||||
with path.open("w", encoding="utf-8") as f:
|
with path.open("w", encoding="utf-8") as f:
|
||||||
@@ -147,20 +148,18 @@ def render_env_page(data_dir: Path) -> None:
|
|||||||
if wkey not in st.session_state:
|
if wkey not in st.session_state:
|
||||||
raw = st.session_state[saved_key].get(var, "")
|
raw = st.session_state[saved_key].get(var, "")
|
||||||
st.session_state[wkey] = raw == "1" if var == "KERBEROS_ENABLE" else raw
|
st.session_state[wkey] = raw == "1" if var == "KERBEROS_ENABLE" else raw
|
||||||
col_label, col_input = st.columns([1, 2], width=480, vertical_alignment="center")
|
|
||||||
col_label.markdown(label)
|
|
||||||
if var == "KERBEROS_ENABLE":
|
if var == "KERBEROS_ENABLE":
|
||||||
col_input.toggle(label, key=wkey, label_visibility="collapsed")
|
st.toggle(label, key=wkey, width=480)
|
||||||
else:
|
else:
|
||||||
extra = (
|
extra = (
|
||||||
{"on_change": _on_domain_change, "args": (wkey, widget_key("LDAP_BASE_DN"))}
|
{"on_change": _on_domain_change, "args": (wkey, widget_key("LDAP_BASE_DN"))}
|
||||||
if var == "LDAP_DOMAIN" else {}
|
if var == "LDAP_DOMAIN" else {}
|
||||||
)
|
)
|
||||||
col_input.text_input(
|
st.text_input(
|
||||||
label,
|
label,
|
||||||
key=wkey,
|
key=wkey,
|
||||||
type="password" if var.endswith("_PASSWORD") else "default",
|
type="password" if var.endswith("_PASSWORD") else "default",
|
||||||
label_visibility="collapsed",
|
width=480,
|
||||||
**extra,
|
**extra,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -235,7 +234,7 @@ def main() -> None:
|
|||||||
page_name = st.radio("Page", [ENV_PAGE] + list(FILES.keys()))
|
page_name = st.radio("Page", [ENV_PAGE] + list(FILES.keys()))
|
||||||
|
|
||||||
data_dir = Path(data_dir_raw).expanduser()
|
data_dir = Path(data_dir_raw).expanduser()
|
||||||
st.caption("This editor manages the CSV files used by OpenLDAP bootstrap.")
|
st.caption("This editor manages configuration files used by OpenLDAP bootstrap.")
|
||||||
|
|
||||||
if page_name == ENV_PAGE:
|
if page_name == ENV_PAGE:
|
||||||
if not data_dir.exists():
|
if not data_dir.exists():
|
||||||
|
|||||||
Reference in New Issue
Block a user