From 4071d2bcbbf89989c3b3aa82e9faa7283b18c77c Mon Sep 17 00:00:00 2001 From: Matthew Grotke Date: Fri, 5 Jun 2026 12:34:38 -0400 Subject: [PATCH] Development --- docker/routlin-dash/app/factory.py | 5 +++++ .../app/pages/radius/content.json | 20 +++++++++++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/docker/routlin-dash/app/factory.py b/docker/routlin-dash/app/factory.py index d50b9cb..07764a9 100644 --- a/docker/routlin-dash/app/factory.py +++ b/docker/routlin-dash/app/factory.py @@ -455,6 +455,11 @@ def collect_form_originals(items, tokens): value = apply_tokens(item.get('value', ''), tokens) if input_type == 'checkbox': result[name] = '1' if value.lower() in ('true', '1', 'yes') else '0' + elif input_type == 'checkbox_group': + try: + result[name] = json.loads(value) if value else [] + except Exception: + result[name] = [] elif input_type == 'select' and not value: try: opts = json.loads(apply_tokens(item.get('options', '[]'), tokens)) diff --git a/docker/routlin-dash/app/pages/radius/content.json b/docker/routlin-dash/app/pages/radius/content.json index cfa7dc4..d4b49f8 100644 --- a/docker/routlin-dash/app/pages/radius/content.json +++ b/docker/routlin-dash/app/pages/radius/content.json @@ -78,6 +78,10 @@ "action": "/action/radius/options_save", "method": "post", "text": "Save" + }, + { + "type": "button_cancel", + "text": "Cancel" } ] } @@ -104,7 +108,7 @@ "items": [ { "type": "field", - "label": "Apply DEFAULT Rule To", + "label": "Which RADIUS Clients (authenticators) may apply the DEFAULT rule to unknown devices?", "name": "apply_to", "input_type": "select", "value": "%RADIUS_APPLY_TO%", @@ -113,7 +117,7 @@ {"value": "wireless", "label": "Wireless authenticators only (NAS-Port-Type = Wireless-802.11)"}, {"value": "huntgroup", "label": "Wireless authenticators only (AP huntgroup by IP)"} ], - "hint": "\"Wireless authenticators only\" means that unknown wired devices will be rejected by RADIUS, rather than receive RADIUS authorization for placement onto the fallback VLAN. Your managed switch may have additional policy rules for handling of devices rejected by RADIUS." + "hint": "" }, { "type": "field", @@ -132,6 +136,10 @@ "action": "/action/radius/default_rule_save", "method": "post", "text": "Save" + }, + { + "type": "button_cancel", + "text": "Cancel" } ] } @@ -171,6 +179,10 @@ { "type": "button_primary", "text": "Save" + }, + { + "type": "button_cancel", + "text": "Cancel" } ] } @@ -219,6 +231,10 @@ { "type": "button_primary", "text": "Save" + }, + { + "type": "button_cancel", + "text": "Cancel" } ] }