diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2009-12-21 02:50:30 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2009-12-21 02:50:30 +0000 |
commit | dcc617fc48f6198f933332472ec6b4b0a6823222 (patch) | |
tree | f96d2b1041eb6ee55c99b58dc6ca5cd37313f3ac /modules/admin-full/luasrc/controller/admin | |
parent | 85eec9c21f5be8ce2b5e0d8b8b6e2f31a4f19f12 (diff) |
modules/admin-full: cope with missing wireless or dnsmasq config, hide menu points if config is not present
Diffstat (limited to 'modules/admin-full/luasrc/controller/admin')
-rw-r--r-- | modules/admin-full/luasrc/controller/admin/network.lua | 27 | ||||
-rw-r--r-- | modules/admin-full/luasrc/controller/admin/services.lua | 12 |
2 files changed, 23 insertions, 16 deletions
diff --git a/modules/admin-full/luasrc/controller/admin/network.lua b/modules/admin-full/luasrc/controller/admin/network.lua index df2a4c47f3..459b8311e2 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 d2fab8ad0a..b88e8ab57d 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 |