Development

This commit is contained in:
Matthew Grotke 2026-06-07 15:11:40 -04:00
parent 27f2356cd1
commit 19f0bfa79c
4 changed files with 115 additions and 21 deletions

View file

@ -64,32 +64,81 @@
}
]
},
{
"type": "table",
"datasource": "captive_portals",
"empty_message": "No captive portal VLANs configured. Set Restricted VLAN = Captive Portal on the Network Layout page.",
"columns": [
{
"label": "VLAN",
"field": "vlan_name",
"class": "col-mono"
},
{
"label": "Title",
"field": "portal_splash_title"
},
{
"label": "Splash Text",
"field": "portal_splash_text"
},
{
"label": "Terms",
"field": "portal_terms_display",
"class": "col-narrow"
}
],
"row_actions": [
{
"client_requirement": "client_is_administrator+",
"method": "js_edit",
"target": "portal-edit-form",
"text": "Edit",
"class": "btn-ghost btn-sm"
}
]
},
{
"type": "card",
"label": "Splash Screen",
"id": "portal-edit-form",
"label": "Edit Portal",
"client_requirement": "client_is_administrator+",
"items": [
{
"type": "form",
"action": "/action/captiveportal/splash_save",
"action": "/action/captiveportal/portal_save",
"method": "post",
"items": [
{
"type": "hidden",
"name": "vlan_name",
"value": ""
},
{
"type": "field",
"label": "Welcome Text",
"name": "splash_text",
"label": "Title",
"name": "portal_splash_title",
"input_type": "text",
"value": "%CAPTIVE_SPLASH_TEXT%",
"hint": "Welcome message shown at the top of the login page."
"hint": "Heading shown at the top of the login page."
},
{
"type": "field",
"label": "Splash Text",
"name": "portal_splash_text",
"input_type": "text",
"hint": "Welcome message shown below the title."
},
{
"type": "hr"
},
{
"type": "editable_list",
"label": "Terms",
"name": "terms",
"items": "%CAPTIVE_TERMS%",
"name": "portal_terms",
"items": "[]",
"add_label": "Add Term",
"item_placeholder": "e.g. I agree to the acceptable use policy.",
"hint": "Each term renders as a required checkbox the user must tick before submitting credentials."
"hint": "Each term renders as a required checkbox the user must tick before submitting credentials. Leave empty for no terms."
},
{
"type": "button_row",