* luci/libs/cbi: implement commit hooks in cbi maps

* luci/moules/admin-mini: reload global config namespace when change theme or language (for persistent environments)
* luci/moules/admin-full: reload global config namespace when change theme or language (for persistent environments)
This commit is contained in:
Jo-Philipp Wich 2008-09-20 22:11:41 +00:00
parent 71adba8a50
commit dc253f4af4
3 changed files with 20 additions and 3 deletions

View file

@ -288,6 +288,9 @@ function Map.parse(self)
for i, config in ipairs(self.parsechain) do
self.uci:unload(config)
end
if type(self.commit_handler) == "function" then
self:commit_handler()
end
end
end

View file

@ -12,9 +12,16 @@ You may obtain a copy of the License at
$Id$
]]--
require("luci.config")
m = Map("luci", translate("webui"), translate("a_i_luci1",
m = Map("luci", translate("webui"), translate("a_i_luci1",
"Hier können Eigenschaften und die Funktionalität der Oberfläche angepasst werden."))
-- force reload of global luci config namespace to reflect the changes
function m.commit_handler(self)
package.loaded["luci.config"] = nil
require("luci.config")
end
c = m:section(NamedSection, "main", "core", translate("general"))
l = c:option(ListValue, "lang", translate("language"))
@ -41,4 +48,4 @@ f = m:section(NamedSection, "flash_keep", "extern", translate("a_i_keepflash"),
translate("a_i_keepflash1"))
f.dynamic = true
return m
return m

View file

@ -15,6 +15,13 @@ $Id$
require("luci.config")
m = Map("luci", translate("webui"), translate("a_i_luci1"))
-- force reload of global luci config namespace to reflect the changes
function m.commit_handler(self)
package.loaded["luci.config"] = nil
require("luci.config")
end
c = m:section(NamedSection, "main", "core", translate("general"))
l = c:option(ListValue, "lang", translate("language"))
@ -33,4 +40,4 @@ for k, v in pairs(luci.config.themes) do
end
end
return m
return m