From dbe43dc186578da25d441e2dc8cb1b410c5d1131 Mon Sep 17 00:00:00 2001 From: Monviech <79600909+Monviech@users.noreply.github.com> Date: Fri, 10 Jan 2025 09:30:22 +0100 Subject: [PATCH] www/caddy: Implement reusable grid template (#4454) See: https://github.com/opnsense/core/commit/a7a99fcdfe972dacc1a6beada7607e73a1689d05 --- .../OPNsense/Caddy/Layer4Controller.php | 10 +- .../OPNsense/Caddy/ReverseProxyController.php | 15 +- .../OPNsense/Caddy/forms/dialogAccessList.xml | 10 + .../OPNsense/Caddy/forms/dialogHandle.xml | 74 ++++++ .../OPNsense/Caddy/forms/dialogHeader.xml | 6 + .../OPNsense/Caddy/forms/dialogLayer4.xml | 42 ++++ .../Caddy/forms/dialogLayer4Openvpn.xml | 3 + .../Caddy/forms/dialogReverseProxy.xml | 32 +++ .../OPNsense/Caddy/forms/dialogSubdomain.xml | 19 ++ .../mvc/app/views/OPNsense/Caddy/layer4.volt | 72 +----- .../views/OPNsense/Caddy/reverse_proxy.volt | 228 +++--------------- 11 files changed, 243 insertions(+), 268 deletions(-) diff --git a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/Layer4Controller.php b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/Layer4Controller.php index 1a085eff4..b1366ab72 100644 --- a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/Layer4Controller.php +++ b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/Layer4Controller.php @@ -1,7 +1,7 @@ view->pick('OPNsense/Caddy/layer4'); - $this->view->formDialogLayer4 = $this->getForm("dialogLayer4"); - $this->view->formDialogLayer4Openvpn = $this->getForm("dialogLayer4Openvpn"); + + $this->view->formDialogLayer4 = $this->getForm('dialogLayer4'); + $this->view->formGridLayer4 = $this->getFormGrid('dialogLayer4', null, 'ConfChangeMessage'); + + $this->view->formDialogLayer4Openvpn = $this->getForm('dialogLayer4Openvpn'); + $this->view->formGridLayer4Openvpn = $this->getFormGrid('dialogLayer4Openvpn', null, 'ConfChangeMessage'); } } diff --git a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/ReverseProxyController.php b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/ReverseProxyController.php index fde12d63c..e30315299 100644 --- a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/ReverseProxyController.php +++ b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/ReverseProxyController.php @@ -1,8 +1,7 @@ view->pick('OPNsense/Caddy/reverse_proxy'); + $this->view->formDialogReverseProxy = $this->getForm("dialogReverseProxy"); + $this->view->formGridReverseProxy = $this->getFormGrid('dialogReverseProxy', null, 'ConfChangeMessage'); + $this->view->formDialogSubdomain = $this->getForm("dialogSubdomain"); + $this->view->formGridSubdomain = $this->getFormGrid('dialogSubdomain', null, 'ConfChangeMessage'); + $this->view->formDialogHandle = $this->getForm("dialogHandle"); + $this->view->formGridHandle = $this->getFormGrid('dialogHandle', null, 'ConfChangeMessage'); + $this->view->formDialogAccessList = $this->getForm("dialogAccessList"); + $this->view->formGridAccessList = $this->getFormGrid('dialogAccessList', null, 'ConfChangeMessage'); + $this->view->formDialogBasicAuth = $this->getForm("dialogBasicAuth"); + $this->view->formGridBasicAuth = $this->getFormGrid('dialogBasicAuth', null, 'ConfChangeMessage'); + $this->view->formDialogHeader = $this->getForm("dialogHeader"); + $this->view->formGridHeader = $this->getFormGrid('dialogHeader', null, 'ConfChangeMessage'); } } diff --git a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogAccessList.xml b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogAccessList.xml index 50c2718ab..774ebd997 100644 --- a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogAccessList.xml +++ b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogAccessList.xml @@ -18,6 +18,10 @@ checkbox + + boolean + boolean + accesslist.HttpResponseCode @@ -26,6 +30,9 @@ abort true + + false + accesslist.HttpResponseMessage @@ -33,6 +40,9 @@ text true + + false + accesslist.description diff --git a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogHandle.xml b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogHandle.xml index 7ece8310a..3efcdb8dd 100644 --- a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogHandle.xml +++ b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogHandle.xml @@ -4,6 +4,11 @@ checkbox + + 6em + boolean + rowtoggle + handle.description @@ -38,6 +43,9 @@ dropdown true + + false + handle.HandlePath @@ -46,6 +54,9 @@ any true + + false + header @@ -58,6 +69,9 @@ dropdown true + + false + handle.ForwardAuth @@ -65,6 +79,11 @@ checkbox true + + false + boolean + boolean + header @@ -87,6 +106,9 @@ true + + false + handle.header @@ -97,6 +119,9 @@ true + + false + handle.HttpKeepalive @@ -106,6 +131,9 @@ true + + false + handle.HttpTls @@ -133,6 +161,9 @@ text true + + false + handle.HttpTlsInsecureSkipVerify @@ -140,6 +171,11 @@ checkbox + + false + boolean + boolean + handle.HttpTlsTrustedCaCerts @@ -147,6 +183,9 @@ dropdown + + false + handle.HttpTlsServerName @@ -154,6 +193,9 @@ text + + false + handle.HttpNtlm @@ -161,6 +203,11 @@ checkbox + + false + boolean + boolean + header @@ -174,6 +221,9 @@ true + + false + handle.lb_retries @@ -183,6 +233,9 @@ off true + + false + handle.lb_try_duration @@ -192,6 +245,9 @@ 0 true + + false + handle.lb_try_interval @@ -201,6 +257,9 @@ 250 true + + false + handle.PassiveHealthFailDuration @@ -210,6 +269,9 @@ off true + + false + handle.PassiveHealthMaxFails @@ -219,6 +281,9 @@ 1 true + + false + handle.PassiveHealthUnhealthyStatus @@ -228,6 +293,9 @@ off true + + false + handle.PassiveHealthUnhealthyLatency @@ -237,6 +305,9 @@ off true + + false + handle.PassiveHealthUnhealthyRequestCount @@ -246,5 +317,8 @@ off true + + false + diff --git a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogHeader.xml b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogHeader.xml index df19819f0..f7885bedd 100644 --- a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogHeader.xml +++ b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogHeader.xml @@ -16,12 +16,18 @@ text + + false + header.HeaderReplace text + + false + header.description diff --git a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogLayer4.xml b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogLayer4.xml index 8fa4fdcae..9cabfaf42 100644 --- a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogLayer4.xml +++ b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogLayer4.xml @@ -4,6 +4,11 @@ checkbox + + 6em + boolean + rowtoggle + layer4.Sequence @@ -26,6 +31,9 @@ dropdown + + false + layer4.Protocol @@ -40,6 +48,9 @@ text + + false + header @@ -65,6 +76,9 @@ dropdown + + false + layer4.FromOpenvpnStaticKey @@ -74,6 +88,9 @@ Any 5 + + false + layer4.InvertMatchers @@ -81,6 +98,11 @@ checkbox true + + false + boolean + boolean + layer4.TerminateTls @@ -88,6 +110,11 @@ checkbox + + false + boolean + boolean + header @@ -113,6 +140,9 @@ dropdown true + + false + header @@ -126,6 +156,9 @@ true + + false + layer4.PassiveHealthFailDuration @@ -135,6 +168,9 @@ off true + + false + layer4.PassiveHealthMaxFails @@ -144,6 +180,9 @@ 1 true + + false + header @@ -156,5 +195,8 @@ true + + false + diff --git a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogLayer4Openvpn.xml b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogLayer4Openvpn.xml index ec225e85f..2ac852121 100644 --- a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogLayer4Openvpn.xml +++ b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogLayer4Openvpn.xml @@ -9,5 +9,8 @@ textbox Paste an OpenVPN Static key. + + true + diff --git a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogReverseProxy.xml b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogReverseProxy.xml index 014e1853e..a8163b33f 100644 --- a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogReverseProxy.xml +++ b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogReverseProxy.xml @@ -4,6 +4,11 @@ checkbox + + 6em + boolean + rowtoggle + reverse.description @@ -39,6 +44,9 @@ dropdown + + false + reverse.AcmePassthrough @@ -46,6 +54,9 @@ text true + + false + reverse.DnsChallenge @@ -53,12 +64,22 @@ checkbox + + false + boolean + boolean + reverse.DynDns checkbox + + false + boolean + boolean + header @@ -69,6 +90,9 @@ dropdown + + false + reverse.basicauth @@ -76,11 +100,19 @@ select_multiple 5 + + false + reverse.AccessLog checkbox + + false + boolean + boolean + diff --git a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogSubdomain.xml b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogSubdomain.xml index 8a515e2ca..5db43f6f2 100644 --- a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogSubdomain.xml +++ b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogSubdomain.xml @@ -4,6 +4,11 @@ checkbox + + 6em + boolean + rowtoggle + subdomain.description @@ -33,6 +38,11 @@ checkbox + + false + boolean + boolean + subdomain.AcmePassthrough @@ -40,6 +50,9 @@ text true + + false + header @@ -50,6 +63,9 @@ dropdown + + false + subdomain.basicauth @@ -57,5 +73,8 @@ select_multiple 5 + + false + diff --git a/www/caddy/src/opnsense/mvc/app/views/OPNsense/Caddy/layer4.volt b/www/caddy/src/opnsense/mvc/app/views/OPNsense/Caddy/layer4.volt index f1c57229c..be371635c 100644 --- a/www/caddy/src/opnsense/mvc/app/views/OPNsense/Caddy/layer4.volt +++ b/www/caddy/src/opnsense/mvc/app/views/OPNsense/Caddy/layer4.volt @@ -1,5 +1,5 @@ {# - # Copyright (c) 2024 Cedrik Pischem + # Copyright (c) 2024-2025 Cedrik Pischem # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, @@ -27,7 +27,7 @@