* luci-0.8: backport admin shell fixes
authorJo-Philipp Wich <jow@openwrt.org>
Wed, 29 Oct 2008 19:40:40 +0000 (19:40 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Wed, 29 Oct 2008 19:40:40 +0000 (19:40 +0000)
19 files changed:
modules/admin-core/luasrc/view/about.htm
modules/admin-core/luasrc/view/header.htm
modules/admin-core/luasrc/view/sysauth.htm
modules/admin-core/root/sbin/luci-flash
modules/admin-full/luasrc/controller/admin/index.lua
modules/admin-full/luasrc/controller/admin/network.lua
modules/admin-full/luasrc/controller/admin/services.lua
modules/admin-full/luasrc/controller/admin/status.lua
modules/admin-full/luasrc/controller/admin/system.lua
modules/admin-full/luasrc/controller/admin/uci.lua
modules/admin-full/luasrc/model/cbi/admin_index/luci.lua
modules/admin-full/luasrc/model/cbi/admin_network/network.lua
modules/admin-full/luasrc/model/cbi/admin_network/wifi.lua
modules/admin-full/luasrc/view/admin_uci/apply.htm
modules/admin-full/luasrc/view/admin_uci/changes.htm
modules/admin-full/luasrc/view/admin_uci/revert.htm
modules/admin-mini/luasrc/controller/mini/index.lua
modules/admin-mini/luasrc/controller/mini/network.lua
modules/admin-mini/luasrc/controller/mini/system.lua

index ea20d1b..529649c 100644 (file)
@@ -32,6 +32,7 @@ $Id$
        <li><a href="mailto:mail-at-antonpopov-dot-de">Anton "xyron" Popov</a></li>
        <li><a href="mailto:florian-at-openwrt-dot-org">Florian Fainelli</a> (OpenWrt)</li> 
        <li><a href="mailto:x-alina-at-gmx-dot-net">Alina Friedrichsen</a></li> 
+       <li>Yanira</li> 
 </ul>
 <br />
 
index 07da7ef..6625e46 100644 (file)
@@ -12,4 +12,4 @@ You may obtain a copy of the License at
 $Id$
 
 -%>
-<% include("themes/" .. luci.fs.basename(media) .. "/header") %>
\ No newline at end of file
+<% include("themes/" .. theme .. "/header") %>
\ No newline at end of file
index 4965240..a49d807 100644 (file)
@@ -15,7 +15,7 @@ $Id$
 <%+header%>
 <% luci.i18n.loadc("sysauth") %>
 
-<form method="post" action="<%=REQUEST_URI%>">
+<form method="post" action="<%=luci.http.getenv("REQUEST_URI")%>">
        <div class="cbi-map">
                <h2><a id="content" name="content"><%:sysauth_head%></a></h2>
                <div class="cbi-map-descr">
@@ -41,7 +41,7 @@ $Id$
                </fieldset></fieldset>
        </div>
 
-       <div>
+       <div id="auth_buttons">
                <input type="submit" value="<%:login%>" class="cbi-button cbi-button-apply" />
                <input type="reset" value="<%:reset%>" class="cbi-button cbi-button-reset" />
        </div>
index 99d614d..819be40 100755 (executable)
@@ -85,9 +85,5 @@ done
 [ -n "$sysupgrade_init_conffiles" ] && do_save_conffiles
 run_hooks "" $sysupgrade_pre_upgrade
 
-ask_bool() {
-       false
-}
-
 v "Switching to ramdisk..."
 run_ramfs '. /etc/functions.sh; include /lib/upgrade; do_upgrade'
index cab9441..071dd59 100644 (file)
@@ -20,6 +20,7 @@ function index()
        local root = node()
        if not root.target then
                root.target = alias("admin")
+               root.index = true
        end
        
        entry({"about"}, template("about")).i18n = "admin-core"
@@ -32,11 +33,13 @@ function index()
        page.sysauth = "root"
        page.sysauth_authenticator = "htmlauth"
        page.ucidata = true
+       page.index = true
        
        local page  = node("admin", "index")
        page.target = template("admin_index/index")
        page.title  = i18n("overview", "Übersicht")
        page.order  = 10
+       page.index = true
        
        local page  = node("admin", "index", "luci")
        page.target = cbi("admin_index/luci")
index e3f80a1..778a70f 100644 (file)
@@ -22,6 +22,7 @@ function index()
        page.target = alias("admin", "network", "network")
        page.title  = i18n("network")
        page.order  = 50
+       page.index  = true
 
        local page  = node("admin", "network", "vlan")
        page.target = cbi("admin_network/vlan")
@@ -33,6 +34,7 @@ function index()
        page.title  = i18n("wifi")
        page.i18n   = "wifi"
        page.order  = 15
+       page.subindex = true
        uci:foreach("wireless", "wifi-device",
                function (section)
                        local ifc = section[".name"]
@@ -51,6 +53,7 @@ function index()
        page.target = cbi("admin_network/network")
        page.title  = i18n("interfaces", "Schnittstellen")
        page.order  = 10
+       page.subindex = true
        uci:foreach("network", "interface",
                function (section)
                        local ifc = section[".name"]
@@ -70,6 +73,7 @@ function index()
        page.target = cbi("admin_network/dhcp")
        page.title  = "DHCP"
        page.order  = 30
+       page.subindex = true
 
        entry(
         {"admin", "network", "dhcp", "leases"},
index ea87585..f7bdb02 100644 (file)
@@ -26,6 +26,7 @@ function index()
        page.target = template("admin_services/index")
        page.title  = i18n("services", "Dienste")  
        page.order  = 40
+       page.index  = true
        
        local page  = node("admin", "services", "httpd")
        page.target = cbi("admin_services/httpd")
index 0eb3c19..addc3ca 100644 (file)
@@ -17,7 +17,7 @@ function index()
        luci.i18n.loadc("admin-core")
        local i18n = luci.i18n.translate
 
-       entry({"admin", "status"}, template("admin_status/index"), i18n("status", "Status"), 20)
+       entry({"admin", "status"}, template("admin_status/index"), i18n("status", "Status"), 20).index = true
        entry({"admin", "status", "syslog"}, call("action_syslog"), i18n("syslog", "Systemprotokoll"))
 end
 
index 415131c..1afdfc5 100644 (file)
@@ -17,7 +17,7 @@ function index()
        luci.i18n.loadc("admin-core")
        local i18n = luci.i18n.translate
        
-       entry({"admin", "system"}, alias("admin", "system", "system"), i18n("system"), 30)
+       entry({"admin", "system"}, alias("admin", "system", "system"), i18n("system"), 30).index = true
        entry({"admin", "system", "system"}, cbi("admin_system/system"), i18n("system"), 1)
        entry({"admin", "system", "packages"}, call("action_packages"), i18n("a_s_packages"), 10)
        entry({"admin", "system", "packages", "ipkg"}, form("admin_system/ipkg"), i18n("a_s_p_ipkg"))
@@ -211,6 +211,7 @@ function action_upgrade()
                end
        end
 
+       luci.http.prepare_content("text/html")
        luci.template.render("admin_system/upgrade", {sysupgrade=plat, ret=ret, keep_avail=keep_avail})
 end
 
index 53b3464..d313128 100644 (file)
@@ -15,12 +15,14 @@ module("luci.controller.admin.uci", package.seeall)
 
 function index()
        local i18n = luci.i18n.translate
+       local redir = luci.http.formvalue("redir", true) or 
+         luci.dispatcher.build_url(unpack(luci.dispatcher.context.request))
        
        entry({"admin", "uci"}, nil, i18n("config"))
-       entry({"admin", "uci", "changes"}, call("action_changes"), i18n("changes"), 40)
-       entry({"admin", "uci", "revert"}, call("action_revert"), i18n("revert"), 30)
-       entry({"admin", "uci", "apply"}, call("action_apply"), i18n("apply"), 20)
-       entry({"admin", "uci", "saveapply"}, call("action_apply"), i18n("saveapply"), 10)
+       entry({"admin", "uci", "changes"}, call("action_changes"), i18n("changes"), 40).query = {redir=redir}
+       entry({"admin", "uci", "revert"}, call("action_revert"), i18n("revert"), 30).query = {redir=redir}
+       entry({"admin", "uci", "apply"}, call("action_apply"), i18n("apply"), 20).query = {redir=redir}
+       entry({"admin", "uci", "saveapply"}, call("action_apply"), i18n("saveapply"), 10).query = {redir=redir}
 end
 
 function convert_changes(changes)
index 3fdccbf..3de8710 100644 (file)
@@ -12,16 +12,23 @@ 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"))
 
 local i18ndir = luci.i18n.i18ndir .. "default."
 for k, v in pairs(luci.config.languages) do
-       if k:sub(1, 1) ~= "." and luci.fs.isfile(i18ndir .. k .. ".lua") then
+       if k:sub(1, 1) ~= "." and luci.fs.isfile(i18ndir .. k:gsub("_", "-") .. ".lua") then
                l:value(k, v)
        end
 end
@@ -41,4 +48,4 @@ f = m:section(NamedSection, "flash_keep", "extern", translate("a_i_keepflash"),
  translate("a_i_keepflash1"))
 f.dynamic = true
 
-return m
\ No newline at end of file
+return m
index dab4bb8..300535d 100644 (file)
@@ -25,6 +25,7 @@ s = m:section(TypedSection, "interface", "")
 s.addremove = true
 s.extedit   = luci.dispatcher.build_url("admin", "network", "network") .. "/%s"
 s.template  = "cbi/tblsection"
+s.override_scheme = true
 
 function s.filter(self, section)
        return section ~= "loopback" and section
@@ -86,7 +87,7 @@ function hwaddr.cfgvalue(self, section)
        return luci.fs.readfile("/sys/class/net/" .. ix .. "/address")
         or luci.util.exec("ifconfig " .. ix):match(" ([A-F0-9:]+)%s*\n")
         or "n/a"
-        
+
 end
 
 
@@ -100,13 +101,13 @@ txrx = s:option(DummyValue, "_txrx")
 
 function txrx.cfgvalue(self, section)
        local ix = self.map:get(section, "ifname")
-       
+
        local rx = netstat and netstat[ix] and netstat[ix][1]
        rx = rx and luci.tools.webadmin.byte_format(tonumber(rx)) or "-"
-       
+
        local tx = netstat and netstat[ix] and netstat[ix][9]
        tx = tx and luci.tools.webadmin.byte_format(tonumber(tx)) or "-"
-       
+
        return string.format("%s / %s", tx, rx)
 end
 
@@ -114,14 +115,14 @@ errors = s:option(DummyValue, "_err")
 
 function errors.cfgvalue(self, section)
        local ix = self.map:get(section, "ifname")
-       
+
        local rx = netstat and netstat[ix] and netstat[ix][3]
        local tx = netstat and netstat[ix] and netstat[ix][11]
-       
+
        rx = rx and tostring(rx) or "-"
        tx = tx and tostring(tx) or "-"
-       
+
        return string.format("%s / %s", tx, rx)
 end
 
-return m
\ No newline at end of file
+return m
index f2454d9..c095cc5 100644 (file)
@@ -126,7 +126,7 @@ function network.write(self, section, value)
        if not m.uci:get("network", value) then
                -- avoid "value not defined in enum" because network is not known yet
                s.override_scheme = true
-               
+
                m:chain("network")
                m.uci:set("network", value, "interface")
                Value.write(self, section, value)
@@ -315,11 +315,11 @@ if hwtype == "atheros" or hwtype == "mac80211" then
        eaptype:depends({mode="sta", encryption="wpa"})
        eaptype:depends({mode="sta", encryption="wpa2i"})
 
-       cacert = s:option(Value, "ca_cert", translate("a_w_cacert"))
+       cacert = s:option(FileUpload, "ca_cert", translate("a_w_cacert"))
        cacert:depends({mode="sta", encryption="wpa"})
        cacert:depends({mode="sta", encryption="wpa2i"})
 
-       privkey = s:option(Value, "priv_key", translate("a_w_tlsprivkey"))
+       privkey = s:option(FileUpload, "priv_key", translate("a_w_tlsprivkey"))
        privkey:depends({mode="sta", eap_type="TLS", encryption="wpa2i"})
        privkey:depends({mode="sta", eap_type="TLS", encryption="wpa"})
 
index 8aa09c6..a908b6a 100644 (file)
@@ -13,6 +13,11 @@ $Id$
 
 -%>
 <%+header%>
+<div>
+<a href="<%=luci.http.formvalue("redir")%>">&lt;&lt; <%:back%></a>
+<br />
+<br />
+</div>
 <h2><a id="content" name="content"><%:config%></a></h2>
 <p><%:uci_applied%>:</p>
 <code><%=(changes or "-")%>
@@ -26,4 +31,9 @@ while line do
 end
 fp:close()
 %></code>
+<div>
+<a href="<%=luci.http.formvalue("redir")%>">&lt;&lt; <%:back%></a>
+<br />
+<br />
+</div>
 <%+footer%>
\ No newline at end of file
index da0d9f1..6375aaf 100644 (file)
@@ -13,6 +13,11 @@ $Id$
 
 -%>
 <%+header%>
+<div>
+<a href="<%=luci.http.formvalue("redir")%>">&lt;&lt; <%:back%></a>
+<br />
+<br />
+</div>
 <h2><a id="content" name="content"><%:config%></a></h2>
 <h3><%:changes%></h3>
 <code><%=changes%></code>
@@ -26,4 +31,9 @@ $Id$
 <form class="inline" method="get" action="<%=controller%>/admin/uci/revert">
        <input type="submit" value="<%:revert%>" />
 </form>
+
+<div>
+<br />
+<a href="<%=luci.http.formvalue("redir")%>">&lt;&lt; <%:back%></a>
+</div>
 <%+footer%>
index 553ec74..e8515dc 100644 (file)
@@ -13,7 +13,17 @@ $Id$
 
 -%>
 <%+header%>
+<div>
+<a href="<%=luci.http.formvalue("redir")%>">&lt;&lt; <%:back%></a>
+<br />
+<br />
+</div>
 <h2><a id="content" name="content"><%:config%></a></h2>
 <p><%:uci_reverted%>:</p>
 <code><%=(changes or "-")%></code>
+<div>
+<a href="<%=luci.http.formvalue("redir")%>">&lt;&lt; <%:back%></a>
+<br />
+<br />
+</div>
 <%+footer%>
\ No newline at end of file
index 77847dc..4813b83 100644 (file)
@@ -22,6 +22,7 @@ function index()
        local root = node()
        if not root.lock then
                root.target = alias("mini")
+               root.index = true
        end
        
        entry({"about"}, template("about")).i18n = "admin-core"
@@ -31,9 +32,10 @@ function index()
        page.sysauth = "root"
        page.sysauth_authenticator = "htmlauth"
        page.ucidata = true
+       page.index = true
        
-       entry({"mini", "index"}, alias("mini", "index", "index"), i18n("overview"), 10)
-       entry({"mini", "index", "index"}, form("mini/index"), i18n("general"), 1)
+       entry({"mini", "index"}, alias("mini", "index", "index"), i18n("overview"), 10).index = true
+       entry({"mini", "index", "index"}, form("mini/index"), i18n("general"), 1).ignoreindex = true
        entry({"mini", "index", "luci"}, cbi("mini/luci"), i18n("settings"), 10)
        entry({"mini", "index", "logout"}, call("action_logout"), i18n("logout"))
 end
index e1a82e6..56ffc30 100644 (file)
@@ -19,7 +19,7 @@ function index()
        luci.i18n.loadc("admin-core")
        local i18n = luci.i18n.translate
 
-       entry({"mini", "network"}, alias("mini", "network", "index"), i18n("network"), 20)
+       entry({"mini", "network"}, alias("mini", "network", "index"), i18n("network"), 20).index = true
        entry({"mini", "network", "index"}, cbi("mini/network"), i18n("general"), 1)
        entry({"mini", "network", "wifi"}, cbi("mini/wifi"), i18n("wifi"), 10).i18n="wifi"
        entry({"mini", "network", "dhcp"}, cbi("mini/dhcp"), "DHCP", 20)
index e61d0a0..9d0ef0c 100644 (file)
@@ -19,7 +19,7 @@ function index()
        luci.i18n.loadc("admin-core")
        local i18n = luci.i18n.translate
 
-       entry({"mini", "system"}, alias("mini", "system", "index"), i18n("system"), 40)
+       entry({"mini", "system"}, alias("mini", "system", "index"), i18n("system"), 40).index = true
        entry({"mini", "system", "index"}, cbi("mini/system"), i18n("general"), 1)
        entry({"mini", "system", "passwd"}, form("mini/passwd"), i18n("a_s_changepw"), 10)
        entry({"mini", "system", "backup"}, call("action_backup"), i18n("a_s_backup"), 80)
@@ -108,6 +108,7 @@ function action_upgrade()
                end
        end
 
+       luci.http.prepare_content("text/html")
        luci.template.render("mini/upgrade", {sysupgrade=plat, ret=ret, keep_avail=keep_avail})
 end