X-Git-Url: https://git.archive.openwrt.org/?a=blobdiff_plain;f=modules%2Fadmin-full%2Fluasrc%2Fmodel%2Fcbi%2Fadmin_network%2Fnetwork.lua;h=300535d6dab29993b5cb86c437a002a4e9eaafbe;hb=6e11559793bb4e1211f8bc9e24cfa1cf706f6ee8;hp=3924e7c6cbd8849cb802771699fc40aab2cd7807;hpb=1a08ed70d3a0dd40465ad96dafbea408d4c9389d;p=project%2Fluci.git diff --git a/modules/admin-full/luasrc/model/cbi/admin_network/network.lua b/modules/admin-full/luasrc/model/cbi/admin_network/network.lua index 3924e7c6c..300535d6d 100644 --- a/modules/admin-full/luasrc/model/cbi/admin_network/network.lua +++ b/modules/admin-full/luasrc/model/cbi/admin_network/network.lua @@ -15,11 +15,7 @@ $Id$ require("luci.sys") require("luci.tools.webadmin") -luci.model.uci.load_state("network") -local netstate = luci.model.uci.get_all("network") -luci.model.uci.unload("network") - - +local netstate = luci.model.uci.cursor_state():get_all("network") m = Map("network", translate("interfaces")) local created @@ -29,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 @@ -37,12 +34,15 @@ end function s.create(self, section) if TypedSection.create(self, section) then created = section + else + self.invalid_cts = true end end function s.parse(self, ...) TypedSection.parse(self, ...) if created then + m.uci:save("network") luci.http.redirect(luci.dispatcher.build_url("admin", "network", "network") .. "/" .. created) end @@ -70,7 +70,8 @@ end ifname.titleref = luci.dispatcher.build_url("admin", "network", "vlan") -if luci.model.uci.load("firewall") then + +if luci.model.uci.cursor():load("firewall") then zone = s:option(DummyValue, "_zone", translate("zone")) zone.titleref = luci.dispatcher.build_url("admin", "network", "firewall", "zones") @@ -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