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
+++ /dev/null
---[[
-LuCI - Lua Configuration Interface
-
-Copyright 2008 Steven Barth <steven@midlink.org>
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-$Id$
-]]--
-module("luci.controller.admin.index", package.seeall)
-
-function index()
- luci.i18n.loadc("admin-core")
- local i18n = luci.i18n.translate
-
- local root = node()
- if not root.target then
- root.target = alias("admin")
- end
-
- entry({"about"}, template("about")).i18n = "admin-core"
-
- local page = node("admin")
- page.target = alias("admin", "index")
- page.title = i18n("administration", "Administration")
- page.order = 10
- page.i18n = "admin-core"
- page.sysauth = "root"
-
- local page = node("admin", "index")
- page.target = template("admin_index/index")
- page.title = i18n("overview", "Übersicht")
- page.order = 10
-
- local page = node("admin", "index", "luci")
- page.target = cbi("admin_index/luci")
- page.title = i18n("a_i_ui", "Oberfläche")
-
- entry({"admin", "logout"}, call("action_logout"), i18n("logout"))
-end
-
-function action_logout()
- luci.http.header("Set-Cookie", "sysauth=; path=/")
- luci.http.redirect(luci.dispatcher.build_url())
-end
\ No newline at end of file
--- /dev/null
+--[[
+LuCI - Lua Configuration Interface
+
+Copyright 2008 Steven Barth <steven@midlink.org>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+$Id$
+]]--
+module("luci.controller.admin.index", package.seeall)
+
+function index()
+ luci.i18n.loadc("admin-core")
+ local i18n = luci.i18n.translate
+
+ local root = node()
+ if not root.target then
+ root.target = alias("admin")
+ end
+
+ entry({"about"}, template("about")).i18n = "admin-core"
+
+ local page = node("admin")
+ page.target = alias("admin", "index")
+ page.title = i18n("administration", "Administration")
+ page.order = 10
+ page.i18n = "admin-core"
+ page.sysauth = "root"
+
+ local page = node("admin", "index")
+ page.target = template("admin_index/index")
+ page.title = i18n("overview", "Übersicht")
+ page.order = 10
+
+ local page = node("admin", "index", "luci")
+ page.target = cbi("admin_index/luci")
+ page.title = i18n("a_i_ui", "Oberfläche")
+
+ entry({"admin", "logout"}, call("action_logout"), i18n("logout"))
+end
+
+function action_logout()
+ luci.http.header("Set-Cookie", "sysauth=; path=/")
+ luci.http.redirect(luci.dispatcher.build_url())
+end
\ No newline at end of file