openwrt-routing/luci-app-bmx6/files/usr/lib/lua/luci/model/cbi/bmx6/interfaces.lua

78 lines
2.0 KiB
Lua

--[[
Copyright (C) 2011 Pau Escrich <pau@dabax.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
The full GNU General Public License is included in this distribution in
the file called "COPYING".
--]]
local sys = require("luci.sys")
local bmx6json = require("luci.model.bmx6json")
local m = Map("bmx6", "bmx6")
local eth_int = sys.net.devices()
local interfaces = m:section(TypedSection,"dev","Devices","")
interfaces.addremove = true
interfaces.anonymous = true
local intlv = interfaces:option(ListValue,"dev","Device")
for _,i in ipairs(eth_int) do
intlv:value(i,i)
end
-- Getting json and looking for device section
local json = bmx6json.get("options")
if json == nil or json.OPTIONS == nil then
m.message = "bmx6-json plugin is not running or some mistake in luci-bmx6 configuration, check /etc/config/luci-bmx6"
json = {}
else
json = json.OPTIONS
end
local dev = {}
for _,j in ipairs(json) do
if j.name == "dev" and j.CHILD_OPTIONS ~= nil then
dev = j.CHILD_OPTIONS
break
end
end
local help = ""
local name = ""
for _,o in ipairs(dev) do
if o.name ~= nil then
help = ""
name = o.name
if o.help ~= nil then
help = bmx6json.text2html(o.help)
end
if o.syntax ~= nil then
help = help .. "<br/><strong>Syntax: </strong>" .. bmx6json.text2html(o.syntax)
end
value = interfaces:option(Value,name,name,help)
value.optional = true
end
end
return m