08cc565e2c8cf9538a7a8c630aede68fd45d3c97
[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", _niu = "1", mode = "ap"})
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_route("ap1")
19         else
20                 cursor:delete("wireless", "ap", "network")
21         end
22         cursor:save("wireless")
23 end
24
25
26 local d = Delegator()
27 d.allow_finish = true
28 d.allow_back = true
29 d.allow_cancel = true
30
31 d:add("device", "niu/wireless/apdevice")
32 d:add("deviceroute", deviceroute)
33 d:set("ap1", "niu/wireless/ap1")
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