From 08684e90bb4dd77a4d377e91c61d3bc3cf6ea847 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= Date: Tue, 24 May 2022 10:52:32 +0200 Subject: [PATCH] web-private-wifi: add warning about mesh on wan --- .../config-mode/model/admin/privatewifi.lua | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/package/gluon-web-private-wifi/luasrc/lib/gluon/config-mode/model/admin/privatewifi.lua b/package/gluon-web-private-wifi/luasrc/lib/gluon/config-mode/model/admin/privatewifi.lua index 8be95ed6..4f4cf459 100644 --- a/package/gluon-web-private-wifi/luasrc/lib/gluon/config-mode/model/admin/privatewifi.lua +++ b/package/gluon-web-private-wifi/luasrc/lib/gluon/config-mode/model/admin/privatewifi.lua @@ -1,5 +1,6 @@ local uci = require("simple-uci").cursor() local wireless = require 'gluon.wireless' +local util = require 'gluon.util' -- where to read the configuration from local primary_iface = 'wan_radio0' @@ -13,9 +14,26 @@ local s = f:section(Section, nil, translate( .. 'at the same time.' )) +local uplink_interfaces = util.get_role_interfaces(uci, 'uplink') +local mesh_on_wan = false + +for _, iface in ipairs(util.get_role_interfaces(uci, 'mesh')) do + if util.contains(uplink_interfaces, iface) then + mesh_on_wan = true + end +end + local enabled = s:option(Flag, "enabled", translate("Enabled")) enabled.default = uci:get('wireless', primary_iface) and not uci:get_bool('wireless', primary_iface, "disabled") +local warning = s:element('model/warning', { + content = mesh_on_wan and translate( + 'Meshing on WAN interface is enabled.' .. + 'This can lead to problems.' + ) or nil, +}, 'warning') +warning:depends(enabled, true) + local ssid = s:option(Value, "ssid", translate("Name (SSID)")) ssid:depends(enabled, true) ssid.datatype = "maxlength(32)"