Fixed a typo for broadcom maclist, Improved general maclist handling
[project/luci.git] / modules / admin-full / luasrc / model / cbi / admin_network / wireless.lua
index ae24628..4f19f4e 100644 (file)
@@ -15,10 +15,7 @@ $Id$
 require("luci.sys")
 require("luci.tools.webadmin")
 
-luci.model.uci.load_state("wireless")
-local wireless = luci.model.uci.get_all("wireless")
-luci.model.uci.unload("wireless")
-
+local wireless = luci.model.uci.cursor_state():get_all("wireless")
 local wifidata = luci.sys.wifi.getiwconfig()
 local ifaces = {}
 
@@ -60,7 +57,8 @@ end
 
 protocol = s:option(DummyValue, "_mode", translate("protocol"))
 function protocol.cfgvalue(self, section)
-       return "802." .. wireless[self.map:get(section, "device")].mode
+       local mode = wireless[self.map:get(section, "device")].mode
+       return mode and "802." .. mode
 end
 
 mode = s:option(DummyValue, "mode", translate("mode"))
@@ -122,9 +120,10 @@ for k, v in pairs(wireless) do
 end
 
 function create.write(self, section, value)
-       luci.model.uci.load_config("wireless")
-       luci.model.uci.section("wireless", "wifi-iface", nil, {device=value})
-       luci.model.uci.save_config("wireless")
+       local uci = luci.model.uci.cursor()
+       uci:load("wireless")
+       uci:section("wireless", "wifi-iface", nil, {device=value})
+       uci:save("wireless")
        luci.http.redirect(luci.http.getenv("REQUEST_URI") .. "/" .. value)
 end