luci-app-mwan3: refactoring warning compilation on the policy config pages
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
This commit is contained in:
parent
ed0d2ba6cf
commit
b4350f21ff
2 changed files with 35 additions and 76 deletions
|
@ -1,36 +1,36 @@
|
|||
-- ------ extra functions ------ --
|
||||
|
||||
function policyCheck() -- check to see if any policy names exceed the maximum of 15 characters
|
||||
uci.cursor():foreach("mwan3", "policy",
|
||||
function (section)
|
||||
if string.len(section[".name"]) > 15 then
|
||||
nameTooLong = 1
|
||||
err_name_list = err_name_list .. section[".name"] .. " "
|
||||
end
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
function policyWarn() -- display status and warning messages at the top of the page
|
||||
if nameTooLong == 1 then
|
||||
return "<font color=\"ff0000\"><strong>" .. translate("WARNING: Some policies have names exceeding the maximum of 15 characters!") .. "</strong></font>"
|
||||
else
|
||||
return ""
|
||||
end
|
||||
end
|
||||
|
||||
-- ------ policy configuration ------ --
|
||||
|
||||
ds = require "luci.dispatcher"
|
||||
sys = require "luci.sys"
|
||||
|
||||
nameTooLong = 0
|
||||
err_name_list = " "
|
||||
policyCheck()
|
||||
function policyCheck()
|
||||
local policy_error = {}
|
||||
|
||||
uci.cursor():foreach("mwan3", "policy",
|
||||
function (section)
|
||||
policy_error[section[".name"]] = false
|
||||
if string.len(section[".name"]) > 15 then
|
||||
policy_error[section[".name"]] = true
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
return policy_error
|
||||
end
|
||||
|
||||
function policyError(policy_error)
|
||||
local warnings = ""
|
||||
for i, k in pairs(policy_error) do
|
||||
if policy_error[i] == true then
|
||||
warnings = warnings .. string.format("<strong>%s</strong></br>",
|
||||
translatef("WARNING: Policie %s has exceeding the maximum name of 15 characters", i)
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
return warnings
|
||||
end
|
||||
|
||||
m5 = Map("mwan3", translate("MWAN - Policies"),
|
||||
policyWarn())
|
||||
policyError(policyCheck()))
|
||||
|
||||
|
||||
mwan_policy = m5:section(TypedSection, "policy", nil,
|
||||
|
@ -79,15 +79,4 @@ last_resort = mwan_policy:option(DummyValue, "last_resort", translate("Last reso
|
|||
end
|
||||
end
|
||||
|
||||
errors = mwan_policy:option(DummyValue, "errors", translate("Errors"))
|
||||
errors.rawhtml = true
|
||||
function errors.cfgvalue(self, s)
|
||||
if not string.find(err_name_list, " " .. s .. " ") then
|
||||
return ""
|
||||
else
|
||||
return "<span title=\"Name exceeds 15 characters\"><img src=\"/luci-static/resources/cbi/reset.gif\" alt=\"error\"></img></span>"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
return m5
|
||||
|
|
|
@ -1,49 +1,19 @@
|
|||
-- ------ extra functions ------ --
|
||||
|
||||
function policyCheck() -- check to see if this policy's name exceed the maximum of 15 characters
|
||||
policyNameLength = string.len(arg[1])
|
||||
if policyNameLength > 15 then
|
||||
nameTooLong = 1
|
||||
end
|
||||
end
|
||||
|
||||
function policyWarn() -- display status and warning messages at the top of the page
|
||||
if nameTooLong == 1 then
|
||||
return "<font color=\"ff0000\"><strong>" .. translatef("WARNING: This policy's name is %d characters exceeding the maximum of 15!", policyNameLength) .. "</strong></font>"
|
||||
else
|
||||
return ""
|
||||
end
|
||||
end
|
||||
|
||||
function cbiAddMember(field)
|
||||
uci.cursor():foreach("mwan3", "member",
|
||||
function (section)
|
||||
field:value(section[".name"])
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
-- ------ policy configuration ------ --
|
||||
|
||||
dsp = require "luci.dispatcher"
|
||||
arg[1] = arg[1] or ""
|
||||
|
||||
nameTooLong = 0
|
||||
policyCheck()
|
||||
|
||||
|
||||
m5 = Map("mwan3", translatef("MWAN Policy Configuration - %s", arg[1]),
|
||||
policyWarn())
|
||||
m5.redirect = dsp.build_url("admin", "network", "mwan", "policy")
|
||||
|
||||
m5 = Map("mwan3", translatef("MWAN Policy Configuration - %s", arg[1]))
|
||||
m5.redirect = dsp.build_url("admin", "network", "mwan", "policy")
|
||||
|
||||
mwan_policy = m5:section(NamedSection, arg[1], "policy", "")
|
||||
mwan_policy.addremove = false
|
||||
mwan_policy.dynamic = false
|
||||
|
||||
|
||||
use_member = mwan_policy:option(DynamicList, "use_member", translate("Member used"))
|
||||
cbiAddMember(use_member)
|
||||
member = mwan_policy:option(DynamicList, "use_member", translate("Member used"))
|
||||
m5.uci:foreach("mwan3", "member",
|
||||
function(s)
|
||||
member:value(s['.name'], s['.name'])
|
||||
end
|
||||
)
|
||||
|
||||
last_resort = mwan_policy:option(ListValue, "last_resort", translate("Last resort"),
|
||||
translate("When all policy members are offline use this behavior for matched traffic"))
|
||||
|
|
Loading…
Reference in a new issue