Development

This commit is contained in:
Matthew Grotke 2026-05-28 01:57:36 -04:00
parent c0a0e3daa9
commit 5510e2c276
2 changed files with 16 additions and 16 deletions

View file

@ -250,30 +250,28 @@
{ {
"type": "hr" "type": "hr"
}, },
{
"type": "p",
"text": "Servers provided to network clients via DHCP"
},
{ {
"type": "field_row", "type": "field_row",
"cols": 4, "cols": 4,
"items": [ "items": [
{ {
"type": "dhcp_gateway_select", "type": "readonly_select",
"label": "Gateway", "label": "Gateway",
"name": "gateway" "name": "gateway"
}, },
{ {
"type": "dhcp_override_textarea", "type": "overridable_textarea",
"label": "DNS Server(s)", "label": "DNS Server(s)",
"name": "dns_server", "name": "dns_server",
"override_name": "dns_server_override" "override_name": "dns_server_override",
"validate": "ip_in_subnet"
}, },
{ {
"type": "dhcp_override_textarea", "type": "overridable_textarea",
"label": "NTP Server(s)", "label": "NTP Server(s)",
"name": "ntp_server", "name": "ntp_server",
"override_name": "ntp_server_override" "override_name": "ntp_server_override",
"validate": "ip_in_subnet"
}, },
{ {
"type": "field", "type": "field",

View file

@ -1276,31 +1276,33 @@ def _render_item(item, tokens, inherited_req=None):
f'</div>' f'</div>'
) )
if t == 'dhcp_gateway_select': if t == 'readonly_select':
label = e(item.get('label', 'Gateway')) label = e(item.get('label', 'Gateway'))
name = e(item.get('name', 'gateway')) name = e(item.get('name', 'gateway'))
return ( return (
f'<div class="form-group">' f'<div class="form-group">'
f'<label class="form-label">{label}</label>' f'<label class="form-label">{label}</label>'
f'<select name="{name}" class="form-select dhcp-gateway-select" disabled>' f'<select name="{name}" class="form-select readonly-select" disabled>'
f'<option value="">— add identities first —</option>' f'<option value="">— add identities first —</option>'
f'</select>' f'</select>'
f'</div>' f'</div>'
) )
if t == 'dhcp_override_textarea': if t == 'overridable_textarea':
label = e(item.get('label', '')) label = e(item.get('label', ''))
name = e(item.get('name', '')) name = e(item.get('name', ''))
override_name = e(item.get('override_name', name + '_override')) override_name = e(item.get('override_name', name + '_override'))
validate = e(item.get('validate', ''))
validate_attr = f' data-validate-lines="{validate}"' if validate else ''
return ( return (
f'<div class="form-group">' f'<div class="form-group">'
f'<label class="form-label dhcp-override-header">' f'<label class="form-label override-header">'
f'<span>{label}</span>' f'<span>{label}</span>'
f'<label class="dhcp-override-toggle">' f'<label class="override-toggle">'
f'<input type="checkbox" name="{override_name}" class="form-checkbox dhcp-override-check"/> Override' f'<input type="checkbox" name="{override_name}" class="form-checkbox override-check"/> Override'
f'</label>' f'</label>'
f'</label>' f'</label>'
f'<textarea name="{name}" class="form-input dhcp-auto-textarea" rows="2" readonly></textarea>' f'<textarea name="{name}" class="form-input auto-textarea" rows="2" readonly{validate_attr}></textarea>'
f'</div>' f'</div>'
) )