luci.util.extfenv(func, "translate", luci.i18n.translate)
luci.util.extfenv(func, "translatef", luci.i18n.translatef)
- local map = func()
+ local maps = {func()}
- if not instanceof(map, Map) then
- error("CBI map returns no valid map object!")
- return nil
+ for i, map in ipairs(maps) do
+ if not instanceof(map, Map) then
+ error("CBI map returns no valid map object!")
+ return nil
+ end
end
- return map
+ return maps
end
-- Node pseudo abstract class
require("luci.template")
return function()
- local stat, res = luci.util.copcall(luci.cbi.load, model)
+ local stat, maps = luci.util.copcall(luci.cbi.load, model)
if not stat then
- error500(res)
+ error500(maps)
return true
end
- local stat, err = luci.util.copcall(res.parse, res)
- if not stat then
- error500(err)
- return true
+ for i, res in ipairs(maps) do
+ local stat, err = luci.util.copcall(res.parse, res)
+ if not stat then
+ error500(err)
+ return true
+ end
end
luci.template.render("cbi/header")
- res:render()
+ for i, res in ipairs(maps) do
+ res:render()
+ end
luci.template.render("cbi/footer")
end
end