modules/admin-full: reimplement conntrack page as template
authorJo-Philipp Wich <jow@openwrt.org>
Fri, 10 Jul 2009 22:02:30 +0000 (22:02 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Fri, 10 Jul 2009 22:02:30 +0000 (22:02 +0000)
modules/admin-full/luasrc/controller/admin/status.lua
modules/admin-full/luasrc/model/cbi/admin_status/conntrack.lua [deleted file]
modules/admin-full/luasrc/view/admin_status/conntrack.htm [new file with mode: 0644]

index 57496be..5d2df9c 100644 (file)
@@ -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"}, 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)
        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 (file)
index d970bdf..0000000
+++ /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 (file)
index 0000000..6631173
--- /dev/null
@@ -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%>
+