luci-app-olsr: handle empty result for non-status tables
[oweals/luci.git] / modules / luci-mod-network / luasrc / model / cbi / admin_network / network.lua
index 799386d29c6752826af87bd5bfd54d422b436b4b..b98086dea616ba7fd6390455d3beb9258ac31dcf 100644 (file)
@@ -15,59 +15,6 @@ m:chain("dhcp")
 m.pageaction = false
 
 
-local tpl_networks = tpl.Template(nil, [[
-       <div class="cbi-section-node">
-               <div class="table">
-                       <%
-                               for i, net in ipairs(netlist) do
-                                       local z = net[3]
-                                       local c = z and z:get_color() or "#EEEEEE"
-                                       local t = z and translate("Part of zone %q" % z:name()) or translate("No zone assigned")
-                                       local disabled = (net[4]:get("auto") == "0")
-                                       local dynamic = net[4]:is_dynamic()
-                       %>
-                               <div class="tr cbi-rowstyle-<%=i % 2 + 1%>">
-                                       <div class="td col-3 center middle">
-                                               <div class="ifacebox">
-                                                       <div class="ifacebox-head" style="background-color:<%=c%>" title="<%=pcdata(t)%>">
-                                                               <strong><%=net[1]:upper()%></strong>
-                                                       </div>
-                                                       <div class="ifacebox-body" id="<%=net[1]%>-ifc-devices" data-network="<%=net[1]%>">
-                                                               <img src="<%=resource%>/icons/ethernet_disabled.png" style="width:16px; height:16px" /><br />
-                                                               <small>?</small>
-                                                       </div>
-                                               </div>
-                                       </div>
-                                       <div class="td col-5 left middle" id="<%=net[1]%>-ifc-description">
-                                               <em><%:Collecting data...%></em>
-                                       </div>
-                                       <div class="td cbi-section-actions">
-                                               <div>
-                                                       <input type="button" class="cbi-button cbi-button-neutral" onclick="iface_reconnect('<%=net[1]%>')" title="<%:Reconnect this interface%>" value="<%:Restart%>"<%=ifattr(disabled or dynamic, "disabled", "disabled")%> />
-
-                                                       <% if disabled then %>
-                                                               <input type="hidden" name="cbid.network.<%=net[1]%>.__disable__" value="1" />
-                                                               <input type="submit" name="cbi.apply" class="cbi-button cbi-button-neutral" onclick="this.previousElementSibling.value='0'" title="<%:Reconnect this interface%>" value="<%:Connect%>"<%=ifattr(dynamic, "disabled", "disabled")%> />
-                                                       <% else %>
-                                                               <input type="hidden" name="cbid.network.<%=net[1]%>.__disable__" value="0" />
-                                                               <input type="submit" name="cbi.apply" class="cbi-button cbi-button-neutral" onclick="this.previousElementSibling.value='1'" title="<%:Shutdown this interface%>" value="<%:Stop%>"<%=ifattr(dynamic, "disabled", "disabled")%> />
-                                                       <% end %>
-
-                                                       <input type="button" class="cbi-button cbi-button-action important" onclick="location.href='<%=url("admin/network/network", net[1])%>'" title="<%:Edit this interface%>" value="<%:Edit%>" id="<%=net[1]%>-ifc-edit"<%=ifattr(dynamic, "disabled", "disabled")%> />
-
-                                                       <input type="hidden" name="cbid.network.<%=net[1]%>.__delete__" value="" />
-                                                       <input type="submit" name="cbi.apply" class="cbi-button cbi-button-negative" onclick="iface_delete(event)" value="<%:Delete%>"<%=ifattr(dynamic, "disabled", "disabled")%> />
-                                               </div>
-                                       </div>
-                               </div>
-                       <% end %>
-               </div>
-       </div>
-       <div class="cbi-section-create">
-               <input type="button" class="cbi-button cbi-button-add" value="<%:Add new interface...%>" onclick="location.href='<%=url("admin/network/iface_add")%>'" />
-       </div>
-]])
-
 local _, net
 local ifaces, netlist = { }, { }
 
@@ -102,8 +49,10 @@ table.sort(netlist,
        end)
 
 s = m:section(TypedSection, "interface", translate("Interface Overview"))
+s.template = "admin_network/iface_overview"
+s.netlist = netlist
 
-function s.sections(self)
+function s.cfgsections(self)
        local _, net, sl = nil, nil, { }
 
        for _, net in ipairs(netlist) do
@@ -113,18 +62,8 @@ function s.sections(self)
        return sl
 end
 
-function s.render(self)
-       tpl_networks:render({
-               netlist = netlist
-       })
-end
-
 o = s:option(Value, "__disable__")
 
-function o.cfgvalue(self, sid)
-       return (m:get(sid, "auto") == "0") and "1" or "0"
-end
-
 function o.write(self, sid, value)
        if value ~= "1" then
                m:set(sid, "auto", "")
@@ -142,8 +81,6 @@ function o.write(self, sid, value)
 end
 
 
-m:section(SimpleSection).template = "admin_network/iface_overview_status"
-
 if fs.access("/etc/init.d/dsl_control") then
        local ok, boarddata = pcall(json.parse, fs.readfile("/etc/board.json"))
        local modemtype = (ok == true)