From dcc617fc48f6198f933332472ec6b4b0a6823222 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Mon, 21 Dec 2009 02:50:30 +0000 Subject: modules/admin-full: cope with missing wireless or dnsmasq config, hide menu points if config is not present --- .../admin-full/luasrc/controller/admin/network.lua | 27 +++++++++++++--------- .../luasrc/controller/admin/services.lua | 12 ++++++---- 2 files changed, 23 insertions(+), 16 deletions(-) (limited to 'modules/admin-full') diff --git a/modules/admin-full/luasrc/controller/admin/network.lua b/modules/admin-full/luasrc/controller/admin/network.lua index df2a4c47f..459b8311e 100644 --- a/modules/admin-full/luasrc/controller/admin/network.lua +++ b/modules/admin-full/luasrc/controller/admin/network.lua @@ -17,6 +17,7 @@ function index() require("luci.i18n") local uci = require("luci.model.uci").cursor() local i18n = luci.i18n.translate + local has_wifi = nixio.fs.stat("/etc/config/wireless") local page = node("admin", "network") page.target = alias("admin", "network", "network") @@ -29,15 +30,17 @@ function index() page.title = i18n("Switch") page.order = 20 - local page = entry({"admin", "network", "wireless"}, arcombine(template("admin_network/wifi_overview"), cbi("admin_network/wifi")), i18n("Wifi"), 15) - page.leaf = true - page.subindex = true + if has_wifi and has_wifi.size > 0 then + local page = entry({"admin", "network", "wireless"}, arcombine(template("admin_network/wifi_overview"), cbi("admin_network/wifi")), i18n("Wifi"), 15) + page.leaf = true + page.subindex = true - local page = entry({"admin", "network", "wireless_join"}, call("wifi_join"), nil, 16) - page.leaf = true + local page = entry({"admin", "network", "wireless_join"}, call("wifi_join"), nil, 16) + page.leaf = true - local page = entry({"admin", "network", "wireless_delete"}, call("wifi_delete"), nil, 16) - page.leaf = true + local page = entry({"admin", "network", "wireless_delete"}, call("wifi_delete"), nil, 16) + page.leaf = true + end local page = entry({"admin", "network", "network"}, arcombine(cbi("admin_network/network"), cbi("admin_network/ifaces")), i18n("Interfaces"), 10) page.leaf = true @@ -57,10 +60,12 @@ function index() end ) - local page = node("admin", "network", "dhcpleases") - page.target = cbi("admin_network/dhcpleases") - page.title = i18n("DHCP Leases") - page.order = 30 + if nixio.fs.access("/etc/config/dhcp") then + local page = node("admin", "network", "dhcpleases") + page.target = cbi("admin_network/dhcpleases") + page.title = i18n("DHCP Leases") + page.order = 30 + end local page = node("admin", "network", "hosts") page.target = cbi("admin_network/hosts") diff --git a/modules/admin-full/luasrc/controller/admin/services.lua b/modules/admin-full/luasrc/controller/admin/services.lua index d2fab8ad0..b88e8ab57 100644 --- a/modules/admin-full/luasrc/controller/admin/services.lua +++ b/modules/admin-full/luasrc/controller/admin/services.lua @@ -46,9 +46,11 @@ function index() page.target = cbi("admin_services/dropbear") page.title = "Dropbear SSHd" page.order = 20 - - local page = node("admin", "services", "dnsmasq") - page.target = cbi("admin_services/dnsmasq") - page.title = "Dnsmasq" - page.order = 30 + + if nixio.fs.access("/etc/config/dhcp") then + local page = node("admin", "services", "dnsmasq") + page.target = cbi("admin_services/dnsmasq") + page.title = "Dnsmasq" + page.order = 30 + end end -- cgit v1.2.3