f4e58e994d02c16b0ee17baf9e9bf13291903de6
[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", 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         local h = cursor:get("wireless", d, "type")
13         if d ~= "none" then
14                 cursor:delete_all("wireless", "wifi-iface", function(s)
15                         return s.device == d and s._niu ~= "1"
16                 end)
17                 cursor:set("wireless", d, "disabled", 0)                
18                 cursor:set("wireless", "ap", "network", "lan")
19                 self:set("ap1", load("niu/wireless/ap1"))
20                 self:set_route("ap1")
21         else
22                 cursor:delete("wireless", "ap", "network")
23         end
24         cursor:save("wireless")
25 end
26
27
28 local d = Delegator()
29 d.allow_finish = true
30 d.allow_back = true
31 d.allow_cancel = true
32
33 d:add("device", load("niu/wireless/apdevice"))
34 d:add("deviceroute", deviceroute)
35
36 function d.on_cancel()
37         cursor:revert("wireless")
38 end
39
40 function d.on_done()
41         cursor:commit("wireless")
42 end
43
44 return d