Merge pull request #1561 from TDT-AG/pr/luci-app-mwan3-refactoring-continue
[project/luci.git] / applications / luci-app-mwan3 / luasrc / model / cbi / mwan / member.lua
1 dsp = require "luci.dispatcher"
2
3
4 m5 = Map("mwan3", translate("MWAN - Members"))
5
6 mwan_member = m5:section(TypedSection, "member", nil,
7         translate("Members are profiles attaching a metric and weight to an MWAN interface<br />" ..
8         "Names may contain characters A-Z, a-z, 0-9, _ and no spaces<br />" ..
9         "Members may not share the same name as configured interfaces, policies or rules"))
10 mwan_member.addremove = true
11 mwan_member.dynamic = false
12 mwan_member.sectionhead = translate("Member")
13 mwan_member.sortable = true
14 mwan_member.template = "cbi/tblsection"
15 mwan_member.extedit = dsp.build_url("admin", "network", "mwan", "member", "%s")
16 function mwan_member.create(self, section)
17         TypedSection.create(self, section)
18         m5.uci:save("mwan3")
19         luci.http.redirect(dsp.build_url("admin", "network", "mwan", "member", section))
20 end
21
22 interface = mwan_member:option(DummyValue, "interface", translate("Interface"))
23 interface.rawhtml = true
24 function interface.cfgvalue(self, s)
25         return self.map:get(s, "interface") or "&#8212;"
26 end
27
28 metric = mwan_member:option(DummyValue, "metric", translate("Metric"))
29 metric.rawhtml = true
30 function metric.cfgvalue(self, s)
31         return self.map:get(s, "metric") or "1"
32 end
33
34 weight = mwan_member:option(DummyValue, "weight", translate("Weight"))
35 weight.rawhtml = true
36 function weight.cfgvalue(self, s)
37         return self.map:get(s, "weight") or "1"
38 end
39
40 return m5