diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2009-07-10 22:02:30 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2009-07-10 22:02:30 +0000 |
commit | 75e8d0bf4b4ec4ce84aa429b7dae7c2e75bb733e (patch) | |
tree | e3c02dd9bdc888c82b6f4f9ff0ba238289ec0823 /modules/admin-full | |
parent | 07c0f405f3341cdfa11a8437c592fec5ff699f81 (diff) |
modules/admin-full: reimplement conntrack page as template
Diffstat (limited to 'modules/admin-full')
3 files changed, 80 insertions, 50 deletions
diff --git a/modules/admin-full/luasrc/controller/admin/status.lua b/modules/admin-full/luasrc/controller/admin/status.lua index 57496be92b..5d2df9c414 100644 --- a/modules/admin-full/luasrc/controller/admin/status.lua +++ b/modules/admin-full/luasrc/controller/admin/status.lua @@ -20,7 +20,7 @@ function index() entry({"admin", "status"}, template("admin_status/index"), i18n("status", "Status"), 20).index = true entry({"admin", "status", "interfaces"}, template("admin_status/interfaces"), i18n("interfaces", "Interfaces"), 1) entry({"admin", "status", "iptables"}, call("action_iptables"), i18n("a_s_ipt", "Firewall"), 2) - entry({"admin", "status", "conntrack"}, form("admin_status/conntrack"), i18n("a_n_conntrack"), 3) + entry({"admin", "status", "conntrack"}, template("admin_status/conntrack"), i18n("a_n_conntrack"), 3) entry({"admin", "status", "routes"}, template("admin_status/routes"), i18n("a_n_routes"), 4) entry({"admin", "status", "syslog"}, call("action_syslog"), i18n("syslog", "System Log"), 5) entry({"admin", "status", "dmesg"}, call("action_dmesg"), i18n("dmesg", "Kernel Log"), 6) diff --git a/modules/admin-full/luasrc/model/cbi/admin_status/conntrack.lua b/modules/admin-full/luasrc/model/cbi/admin_status/conntrack.lua deleted file mode 100644 index d970bdf3db..0000000000 --- a/modules/admin-full/luasrc/model/cbi/admin_status/conntrack.lua +++ /dev/null @@ -1,49 +0,0 @@ ---[[ -LuCI - Lua Configuration Interface - -Copyright 2008 Steven Barth <steven@midlink.org> -Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net> - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -$Id$ -]]-- - -f = SimpleForm("conntrack", translate("a_n_conntrack"), translate("a_n_conntrack_desc")) -f.reset = false -f.submit = false - -t = f:section(Table, luci.sys.net.arptable(), "ARP") -t:option(DummyValue, "IP address", translate("ipaddress")) -t:option(DummyValue, "HW address", translate("macaddress")) -t:option(DummyValue, "Device", translate("interface")) - -t = f:section(Table, luci.sys.net.conntrack() or {}, translate("a_n_conntrack")) -l3 = t:option(DummyValue, "layer3", translate("network")) -function l3.cfgvalue(self, ...) - return DummyValue.cfgvalue(self, ...):upper() -end - - -l4 = t:option(DummyValue, "layer4", translate("protocol")) -function l4.cfgvalue(self, ...) - return DummyValue.cfgvalue(self, ...):upper() -end - -s = t:option(DummyValue, "src", translate("source")) -function s.cfgvalue(self, section) - return "%s:%s" % { self.map:get(section, "src"), - self.map:get(section, "sport") or "*" } -end - -d = t:option(DummyValue, "dst", translate("destination")) -function d.cfgvalue(self, section) - return "%s:%s" % { self.map:get(section, "dst"), - self.map:get(section, "dport") or "*" } -end - -return f diff --git a/modules/admin-full/luasrc/view/admin_status/conntrack.htm b/modules/admin-full/luasrc/view/admin_status/conntrack.htm new file mode 100644 index 0000000000..663117308f --- /dev/null +++ b/modules/admin-full/luasrc/view/admin_status/conntrack.htm @@ -0,0 +1,79 @@ +<%# +LuCI - Lua Configuration Interface +Copyright 2008-2009 Steven Barth <steven@midlink.org> +Copyright 2008-2009 Jo-Philipp Wich <xm@subsignal.org> + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +$Id$ + +-%> + +<%- + require "bit" + require "luci.fs" + require "luci.sys" + require "luci.tools.webadmin" + + local style = true +-%> + +<%+header%> + +<div class="cbi-map" id="cbi-conntrack"> + <h2><a id="content" name="content"><%:a_n_conntrack%></a></h2> + <div class="cbi-map-descr"><%:a_n_conntrack_desc%></div> + + <fieldset class="cbi-section" id="cbi-table-table"> + <legend>ARP</legend> + <div class="cbi-section-node"> + <table class="cbi-section-table"> + <tr class="cbi-section-table-titles"> + <th class="cbi-section-table-cell"><%:ipaddress%></th> + <th class="cbi-section-table-cell"><%:macaddress%></th> + <th class="cbi-section-table-cell"><%:interface%></th> + </tr> + + <% luci.sys.net.arptable(function(e) %> + <tr class="cbi-section-table-row cbi-rowstyle-<%=(style and 1 or 2)%>"> + <td class="cbi-value-field"><%=e["IP address"]%></td> + <td class="cbi-value-field"><%=e["HW address"]%></td> + <td class="cbi-value-field"><%=e["Device"]%></td> + </tr> + <% style = not style; end) %> + </table> + </div> + </fieldset> + <br /> + + <fieldset class="cbi-section" id="cbi-table-table"> + <legend><%:a_n_conntrack%></legend> + <div class="cbi-section-node"> + <table class="cbi-section-table"> + <tr class="cbi-section-table-titles"> + <th class="cbi-section-table-cell"><%:network%></th> + <th class="cbi-section-table-cell"><%:protocol%></th> + <th class="cbi-section-table-cell"><%:source%></th> + <th class="cbi-section-table-cell"><%:destination%></th> + </tr> + + <% style = true; luci.sys.net.conntrack(function(c) %> + <tr class="cbi-section-table-row cbi-rowstyle-<%=(style and 1 or 2)%>"> + <td class="cbi-value-field"><%=c.layer3:upper()%></td> + <td class="cbi-value-field"><%=c.layer4:upper()%></td> + <td class="cbi-value-field"><%=c.src%></td> + <td class="cbi-value-field"><%=c.dst%></td> + </tr> + <% style = not style; end) %> + </table> + </div> + </fieldset> + <br /> +</div> + +<%+footer%> + |