From 3c23cc64703e246f2ad57070adbdc86fd575907c Mon Sep 17 00:00:00 2001 From: Hannu Nyman Date: Sun, 30 Oct 2016 10:10:46 +0200 Subject: [PATCH] luci-app-travelmate: user interface for Travelmate package Create user interface for Travelmate, a new package that helps in creating travel router functionality. Signed-off-by: Hannu Nyman --- applications/luci-app-travelmate/Makefile | 13 +++++ .../luasrc/controller/travelmate.lua | 11 +++++ .../luasrc/model/cbi/travelmate.lua | 53 ++++++++++++++++++++ .../po/templates/travelmate.pot | 56 ++++++++++++++++++++++ .../root/etc/uci-defaults/40_luci-travelmate | 11 +++++ 5 files changed, 144 insertions(+) create mode 100644 applications/luci-app-travelmate/Makefile create mode 100644 applications/luci-app-travelmate/luasrc/controller/travelmate.lua create mode 100644 applications/luci-app-travelmate/luasrc/model/cbi/travelmate.lua create mode 100644 applications/luci-app-travelmate/po/templates/travelmate.pot create mode 100755 applications/luci-app-travelmate/root/etc/uci-defaults/40_luci-travelmate diff --git a/applications/luci-app-travelmate/Makefile b/applications/luci-app-travelmate/Makefile new file mode 100644 index 000000000..f4b1b0a4e --- /dev/null +++ b/applications/luci-app-travelmate/Makefile @@ -0,0 +1,13 @@ +# +# This is free software, licensed under the Apache License, Version 2.0 . +# + +include $(TOPDIR)/rules.mk + +LUCI_TITLE:=LuCI support for Travelmate +LUCI_DEPENDS:=+travelmate +LUCI_PKGARCH:=all + +include ../../luci.mk + +# call BuildPackage - OpenWrt buildroot signature diff --git a/applications/luci-app-travelmate/luasrc/controller/travelmate.lua b/applications/luci-app-travelmate/luasrc/controller/travelmate.lua new file mode 100644 index 000000000..27c19c4e5 --- /dev/null +++ b/applications/luci-app-travelmate/luasrc/controller/travelmate.lua @@ -0,0 +1,11 @@ +-- Licensed to the public under the Apache License 2.0. + +module("luci.controller.travelmate", package.seeall) + +function index() + if not nixio.fs.access("/etc/config/travelmate") then + return + end + + entry({"admin", "services", "travelmate"}, cbi("travelmate"), _("Travelmate"), 60) +end diff --git a/applications/luci-app-travelmate/luasrc/model/cbi/travelmate.lua b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate.lua new file mode 100644 index 000000000..9050ae968 --- /dev/null +++ b/applications/luci-app-travelmate/luasrc/model/cbi/travelmate.lua @@ -0,0 +1,53 @@ +-- Licensed to the public under the Apache License 2.0. + +m = Map("travelmate", translate("Travelmate"), + translate("Configuration of the Travelmate package to enable travel router functionality. ") .. [[

]] .. + translate("Brief advice: Create a wwan interface, configure it to use dhcp and " .. + "add it to the wan zone in firewall. Create the wifi interfaces to be used ('client' mode, " .. + "assigned to wwan network, left as disabled). Travelmate will try " .. + "to connect to the known wifi client interfaces in the defined order. ") .. + [[]] + .. translate("Link to detailed advice") + .. [[]] ) + +-- General options + +s = m:section(NamedSection, "global", "travelmate", translate("Global options")) + +o = s:option(Flag, "trm_enabled", translate("Enable Travelmate")) +o.rmempty = false +o.default = 0 + +o = s:option(Value, "trm_loop", translate("Loop timeout in seconds for wlan monitoring"), + translate("Default 30, range 5-60")) +o.rmempty = false +o.default = 30 +o.datatype = "range(5,60)" + +o = s:option(Value, "trm_maxretry", translate("Max. number of connection retries to an uplink"), + translate("Default 3, range 0-10. Set to 0 to allow unlimited retries")) +o.rmempty = false +o.default = 3 +o.datatype = "range(0,10)" + +-- Extra options + +e = m:section(NamedSection, "global", "travelmate", translate("Extra options")) + +a = e:option(Flag, "trm_debug", translate("Debug logging")) +a.rmempty = true +a.default = a.disabled + +a = e:option(Value, "trm_device", translate("Use only one radio, e.g. 'radio0'"), + translate("Default: empty = use all radios.")) +a.rmempty = true +a.default = "" +a.datatype = "uciname" + +a = e:option(Flag, "trm_iw", translate("Use iw for scanning"), + translate("Disable this if you want to use iwinfo instead of iw")) +a.rmempty = true +a.default = a.enabled + +return m + diff --git a/applications/luci-app-travelmate/po/templates/travelmate.pot b/applications/luci-app-travelmate/po/templates/travelmate.pot new file mode 100644 index 000000000..533b3e263 --- /dev/null +++ b/applications/luci-app-travelmate/po/templates/travelmate.pot @@ -0,0 +1,56 @@ +msgid "" +msgstr "Content-Type: text/plain; charset=UTF-8" + +msgid "" +"Brief advice: Create a wwan interface, configure it to use dhcp and add it " +"to the wan zone in firewall. Create the wifi interfaces to be used ('client' " +"mode, assigned to wwan network, left as disabled). Travelmate will try to " +"connect to the known wifi client interfaces in the defined order." +msgstr "" + +msgid "" +"Configuration of the Travelmate package to enable travel router " +"functionality." +msgstr "" + +msgid "Debug logging" +msgstr "" + +msgid "Default 3, range 0-10. Set to 0 to allow unlimited retries" +msgstr "" + +msgid "Default 30, range 5-60" +msgstr "" + +msgid "Default: empty = use all radios." +msgstr "" + +msgid "Disable this if you want to use iwinfo instead of iw" +msgstr "" + +msgid "Enable Travelmate" +msgstr "" + +msgid "Extra options" +msgstr "" + +msgid "Global options" +msgstr "" + +msgid "Link to detailed advice" +msgstr "" + +msgid "Loop timeout in seconds for wlan monitoring" +msgstr "" + +msgid "Max. number of connection retries to an uplink" +msgstr "" + +msgid "Travelmate" +msgstr "" + +msgid "Use iw for scanning" +msgstr "" + +msgid "Use only one radio, e.g. 'radio0'" +msgstr "" diff --git a/applications/luci-app-travelmate/root/etc/uci-defaults/40_luci-travelmate b/applications/luci-app-travelmate/root/etc/uci-defaults/40_luci-travelmate new file mode 100755 index 000000000..f7676774a --- /dev/null +++ b/applications/luci-app-travelmate/root/etc/uci-defaults/40_luci-travelmate @@ -0,0 +1,11 @@ +#!/bin/sh + +uci -q batch <<-EOF >/dev/null + delete ucitrack.@travelmate[-1] + add ucitrack travelmate + set ucitrack.@travelmate[-1].init=travelmate + commit ucitrack +EOF + +rm -f /tmp/luci-indexcache +exit 0 -- 2.11.0