luci-app-wman3: add license header to all files
[project/luci.git] / applications / luci-app-mwan3 / luasrc / model / cbi / mwan / member.lua
1 -- Copyright 2014 Aedan Renner <chipdankly@gmail.com>
2 -- Copyright 2018 Florian Eckert <fe@dev.tdt.de>
3 -- Licensed to the public under the GNU General Public License v2.
4
5 dsp = require "luci.dispatcher"
6
7
8 m5 = Map("mwan3", translate("MWAN - Members"))
9
10 mwan_member = m5:section(TypedSection, "member", nil,
11         translate("Members are profiles attaching a metric and weight to an MWAN interface<br />" ..
12         "Names may contain characters A-Z, a-z, 0-9, _ and no spaces<br />" ..
13         "Members may not share the same name as configured interfaces, policies or rules"))
14 mwan_member.addremove = true
15 mwan_member.dynamic = false
16 mwan_member.sectionhead = translate("Member")
17 mwan_member.sortable = true
18 mwan_member.template = "cbi/tblsection"
19 mwan_member.extedit = dsp.build_url("admin", "network", "mwan", "member", "%s")
20 function mwan_member.create(self, section)
21         TypedSection.create(self, section)
22         m5.uci:save("mwan3")
23         luci.http.redirect(dsp.build_url("admin", "network", "mwan", "member", section))
24 end
25
26 interface = mwan_member:option(DummyValue, "interface", translate("Interface"))
27 interface.rawhtml = true
28 function interface.cfgvalue(self, s)
29         return self.map:get(s, "interface") or "&#8212;"
30 end
31
32 metric = mwan_member:option(DummyValue, "metric", translate("Metric"))
33 metric.rawhtml = true
34 function metric.cfgvalue(self, s)
35         return self.map:get(s, "metric") or "1"
36 end
37
38 weight = mwan_member:option(DummyValue, "weight", translate("Weight"))
39 weight.rawhtml = true
40 function weight.cfgvalue(self, s)
41         return self.map:get(s, "weight") or "1"
42 end
43
44 return m5