feat: replace YAML hosts editor with form-based CRUD table
Settings > Hosts now renders a table with per-column controls (watch, dyndns, owner, managers/monitors multi-select, threshold config, notification channels) instead of a raw YAML textarea. Changes stage via the existing Publish flow like other form sections. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -24,7 +24,7 @@ def test_sections_have_section_mode():
|
||||
sections = settings_mod.get_settings_sections(CFG)
|
||||
for s in sections:
|
||||
assert "section_mode" in s, f"Section {s['id']} missing section_mode"
|
||||
assert s["section_mode"] in ("form", "yaml", "channels")
|
||||
assert s["section_mode"] in ("form", "yaml", "channels", "hosts")
|
||||
|
||||
|
||||
def test_sections_have_api_section():
|
||||
@@ -46,14 +46,20 @@ def test_yaml_sections_have_correct_mode():
|
||||
sections = settings_mod.get_settings_sections(CFG)
|
||||
yaml_sections = {s["id"]: s for s in sections if s["section_mode"] == "yaml"}
|
||||
assert "channels" not in yaml_sections # now uses "channels" mode
|
||||
assert "hosts" in yaml_sections
|
||||
assert "hosts" not in yaml_sections # now uses "hosts" mode
|
||||
assert "thresholds" in yaml_sections
|
||||
assert "dns" in yaml_sections
|
||||
assert yaml_sections["hosts"]["api_section"] == "hosts"
|
||||
assert yaml_sections["thresholds"]["api_section"] == "thresholds"
|
||||
assert yaml_sections["dns"]["api_section"] == "dns"
|
||||
|
||||
|
||||
def test_hosts_section_uses_hosts_mode():
|
||||
sections = settings_mod.get_settings_sections(CFG)
|
||||
hosts_sec = next(s for s in sections if s["id"] == "hosts")
|
||||
assert hosts_sec["section_mode"] == "hosts"
|
||||
assert hosts_sec["api_section"] == "hosts"
|
||||
|
||||
|
||||
def test_channels_section_uses_channels_mode():
|
||||
sections = settings_mod.get_settings_sections(CFG)
|
||||
ch_sec = next(s for s in sections if s["id"] == "channels")
|
||||
|
||||
Reference in New Issue
Block a user