From da7f69142f05c07c3a0ad9b3adebcfd52bdbe61d Mon Sep 17 00:00:00 2001
From: rubo77 <github@r.z11.de>
Date: Thu, 10 Nov 2016 07:40:21 +0100
Subject: [PATCH] gluon-config-mode-mesh-vpn: add extra message if mesh-VPN was
 not selected

This was introduced in ffhh-packages at https://github.com/freifunkhamburg/ffhh-packages/tree/master/gluon-config-mode-reboot-ffhh
---
 docs/site-example/i18n/de.po                  |  7 ++++++
 docs/site-example/i18n/en.po                  |  6 +++++
 docs/site-example/i18n/fr.po                  |  6 +++++
 docs/site-example/i18n/gluon-site.pot         |  3 +++
 docs/user/site.rst                            |  3 +++
 .../config-mode/reboot/0100-mesh-vpn.lua      | 22 ++++++++++++-------
 6 files changed, 39 insertions(+), 8 deletions(-)

diff --git a/docs/site-example/i18n/de.po b/docs/site-example/i18n/de.po
index 141d42d3a..ca2c5a539 100644
--- a/docs/site-example/i18n/de.po
+++ b/docs/site-example/i18n/de.po
@@ -31,6 +31,13 @@ msgstr ""
 "<%= pubkey %>"
 "</div>"
 
+msgid "gluon-config-mode:novpn"
+msgstr ""
+"<p><div class=\"the-key\">Du hast ausgewählt, <strong>kein Mesh-VPN</strong> "
+"zu nutzen. Dein Knoten kann also nur dann eine Verbindung zum Freifunk Netz "
+"aufbauen, wenn andere Freifunk-Router in WLAN-Reichweite sind."
+"</div></p>"
+
 msgid "gluon-config-mode:reboot"
 msgstr ""
 "<p>Dein Knoten <em><%= pcdata(hostname) %></em> startet gerade neu und wird "
diff --git a/docs/site-example/i18n/en.po b/docs/site-example/i18n/en.po
index 87181a980..94b44ba43 100644
--- a/docs/site-example/i18n/en.po
+++ b/docs/site-example/i18n/en.po
@@ -28,6 +28,12 @@ msgstr ""
 "<%= pubkey %>"
 "</div>"
 
+msgid "gluon-config-mode:novpn"
+msgstr ""
+"<p><div class=\"the-key\">You have selected <strong>not</strong> to use the mesh VPN. "
+"Your node will only be able to connect to the Freifunk network if other nodes in reach "
+"already have a connection.</div></p>"
+
 msgid "gluon-config-mode:reboot"
 msgstr ""
 "<p>Your node <em><%= pcdata(hostname) %></em> is currently rebooting and will "
diff --git a/docs/site-example/i18n/fr.po b/docs/site-example/i18n/fr.po
index b0e97ca2b..2429ed63f 100644
--- a/docs/site-example/i18n/fr.po
+++ b/docs/site-example/i18n/fr.po
@@ -31,6 +31,12 @@ msgstr ""
 "<%= pubkey %>"
 "</div>"
 
+msgid "gluon-config-mode:novpn"
+msgstr ""
+"<p><div class=\"the-key\">Vous avez choisi de <strong>ne pas utiliser</strong> "
+"le réseau VPN. Votre nœud ne pourra se connecter au réseau Freifunk que si "
+"d'autres nœuds à portée ont déjà une connexion.</div></p>"
+
 msgid "gluon-config-mode:reboot"
 msgstr ""
 "<p>Votre nœud <em><%= pcdata(hostname) %></em> es en train de redémarrer et "
diff --git a/docs/site-example/i18n/gluon-site.pot b/docs/site-example/i18n/gluon-site.pot
index a161a12b0..7fe3293cf 100644
--- a/docs/site-example/i18n/gluon-site.pot
+++ b/docs/site-example/i18n/gluon-site.pot
@@ -7,6 +7,9 @@ msgstr ""
 msgid "gluon-config-mode:pubkey"
 msgstr ""
 
+msgid "gluon-config-mode:novpn"
+msgstr ""
+
 msgid "gluon-config-mode:reboot"
 msgstr ""
 
diff --git a/docs/user/site.rst b/docs/user/site.rst
index 021cea217..abf787f0a 100644
--- a/docs/user/site.rst
+++ b/docs/user/site.rst
@@ -368,6 +368,9 @@ gluon-config-mode:welcome
 gluon-config-mode:pubkey
     Information about the public VPN key on the reboot page.
 
+gluon-config-mode:novpn
+    Information shown on the reboot page, if the mesh VPN was not selected.
+
 gluon-config-mode:altitude-label
     Label for the ``altitude`` field
 
diff --git a/package/gluon-config-mode-mesh-vpn/luasrc/lib/gluon/config-mode/reboot/0100-mesh-vpn.lua b/package/gluon-config-mode-mesh-vpn/luasrc/lib/gluon/config-mode/reboot/0100-mesh-vpn.lua
index f5868c605..4901aa5d1 100644
--- a/package/gluon-config-mode-mesh-vpn/luasrc/lib/gluon/config-mode/reboot/0100-mesh-vpn.lua
+++ b/package/gluon-config-mode-mesh-vpn/luasrc/lib/gluon/config-mode/reboot/0100-mesh-vpn.lua
@@ -1,10 +1,4 @@
 local uci = require("simple-uci").cursor()
-local meshvpn_enabled = uci:get_bool("fastd", "mesh_vpn", "enabled")
-
-if not meshvpn_enabled then
-	return
-end
-
 local lutil = require "gluon.web.util"
 
 local site = require 'gluon.site_config'
@@ -13,11 +7,23 @@ local util = require "gluon.util"
 
 local pretty_hostname = require 'pretty_hostname'
 
-local pubkey = util.trim(lutil.exec("/etc/init.d/fastd show_key mesh_vpn"))
+
+local meshvpn_enabled = uci:get_bool("fastd", "mesh_vpn", "enabled")
+
 local hostname = pretty_hostname.get(uci)
 local contact = uci:get_first("gluon-node-info", "owner", "contact")
 
-local msg = translate('gluon-config-mode:pubkey')
+local pubkey
+local msg
+
+if meshvpn_enabled then
+	pubkey = util.trim(lutil.exec("/etc/init.d/fastd show_key mesh_vpn"))
+	msg = _translate('gluon-config-mode:pubkey')
+else
+	msg = _translate('gluon-config-mode:novpn')
+end
+
+if not msg then return end
 
 renderer.render_string(msg, {
 	pubkey = pubkey,
-- 
GitLab