AP configuration
[project/luci.git] / modules / niu / luasrc / model / cbi / niu / wireless / ap.lua
1 local cursor = require "luci.model.uci".cursor()
2
3 if not cursor:get("wireless", "ap") then
4         cursor:section("wireless", "wifi-iface", "ap",
5                 {device = "_", doth = "1", wmm = "1", _niu = "1"})
6         cursor:save("wireless")
7 end
8
9 local function deviceroute(self)
10         cursor:unload("wireless")
11         local d = cursor:get("wireless", "ap", "device")
12         if d ~= "none" then
13                 cursor:delete_all("wireless", "wifi-iface", function(s)
14                         return s.device == d and s._niu ~= "1"
15                 end)
16                 cursor:set("wireless", d, "disabled", 0)
17                 cursor:set("wireless", "ap", "network", "lan")
18                 self:set("ap1", load("niu/wireless/ap1"))
19                 self:set_route("ap1")
20         else
21                 cursor:delete("wireless", "ap", "network")
22         end
23         cursor:save("wireless")
24 end
25
26
27 local d = Delegator()
28 d.allow_finish = true
29 d.allow_back = true
30 d.allow_cancel = true
31
32 d:add("device", load("niu/wireless/apdevice"))
33 d:add("deviceroute", deviceroute)
34
35 function d.on_cancel()
36         cursor:revert("wireless")
37 end
38
39 function d.on_done()
40         cursor:commit("wireless")
41 end
42
43 return d