packages/fff: Add package fff-web-l3config #12

Closed
ChristianD wants to merge 1 commits from ChristianD/firmware:l3configweb into master
4 changed files with 120 additions and 0 deletions

View File

@ -19,6 +19,7 @@ define Package/fff-layer3
+fff-layer3-config \
+fff-network \
+fff-ra \
+fff-web-l3config \
+fff-wireguard \
+arptables \
+bmon \

View File

@ -0,0 +1,30 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fff-web-l3config
PKG_RELEASE:=1
include $(INCLUDE_DIR)/package.mk
define Package/fff-web-l3config
SECTION:=base
CATEGORY:=Freifunk
TITLE:=Freifunk-Franken layer3 config webui
URL:=http://www.freifunk-franken.de
DEPENDS:= \
+fff-layer3-config \
+fff-web-ui
endef
define Package/fff-web-l3config/description
Configure a layer3 router via a web UI
endef
define Build/Compile
# nothing
endef
define Package/fff-web-l3config/install
$(CP) ./files/* $(1)/
endef
$(eval $(call BuildPackage,fff-web-l3config))

View File

@ -0,0 +1 @@
l3settings,Layer 3
ChristianD marked this conversation as resolved
Review

wir haben überall den Link komplett ausgeschrieben, daher würde ich auch hier 'layer3' statt 'l3settings' bevorzugen.
Wenn noch weitere Layer-3 Seiten geplant sind, dann sollte etwas in der Art l3settings/l3config beibehalten werden und stattdessen der Name der Seite ("Layer 3") angepasst werden.

wir haben überall den Link komplett ausgeschrieben, daher würde ich auch hier 'layer3' statt 'l3settings' bevorzugen. Wenn noch weitere Layer-3 Seiten geplant sind, dann sollte etwas in der Art l3settings/l3config beibehalten werden und stattdessen der Name der Seite ("Layer 3") angepasst werden.

View File

@ -0,0 +1,88 @@
#!/usr/bin/haserl
<%in /www/include/header %>
<%in /www/include/helpers %>
<% show_msg %>
<fieldset style="min-height: 7em;" class="smallinput">
<legend>Status</legend>
<table><tr><td>
<textarea name="status" rows="7" cols="100" readonly>
ChristianD marked this conversation as resolved
Review

Die Einrückung in dieser Datei hat noch Verbesserungspotential.

Die Einrückung in dieser Datei hat noch Verbesserungspotential.
<%
# write
if [ "$REQUEST_METHOD" = "POST" ] && [ -n "${POST_writeconfig}" ] ; then
echo "${POST_l3config}" > /etc/config/gateway
echo "Konfiguration wurde gespeichert. Bitte nun Konfiguration schreiben"
fi
if [ -n "${POST_loadconfig}" ] ; then
yes | configure-layer3 -c
ChristianD marked this conversation as resolved
Review

configure ist ein Schritt, der im WebUI einzeln nur wenig Sinn ergibt. Ich würde das configure stattdessen eher mit in die "testen" und "anwenden" Aktionen packen, so dass es für den Nutzer nur noch zwei Möglichkeiten gibt. Wenn configure-layer3 einen Exitstatus != 0 hat, dann abbrechen und Fehler anzeigen.

configure ist ein Schritt, der im WebUI einzeln nur wenig Sinn ergibt. Ich würde das configure stattdessen eher mit in die "testen" und "anwenden" Aktionen packen, so dass es für den Nutzer nur noch zwei Möglichkeiten gibt. Wenn configure-layer3 einen Exitstatus != 0 hat, dann abbrechen und Fehler anzeigen.
fi
if [ -n "${POST_testconfig}" ] ; then
configure-layer3 -t &
# we need a sleep, because configure-layer3 -t need some time
sleep 1;
echo "Konfigurationstest l&auml;uft, bitte innerhalb von 200 Sekunden abbrechen ansonsten wird die Konfiguration zur&uuml;ck gesetzt"
fi
if [ -n "${POST_testconfigcancel}" ] ; then
configure-layer3 -k 1>&2
echo "Testmodus abgebrochen, Konfiguration bleibt gespeichert. Zum endg&uuml;ltigen &Uuml;bernehmen auf 'Konfiguration &Uuml;bernehmen' klicken"
fi
if [ -n "${POST_applyconfig}" ] ; then
configure-layer3 -a
echo "Konfiguration wurde komplett gespeichert und ist nun rebootfest"
fi
if [ -f /tmp/configure-layer3-pid ] ; then
echo "Testmodus aktiv"
fi
if [ -n "${POST_loadvlandefault}" ] ; then
yes | loadvlandefault 1>&2
echo "VLAN Defaults wurden geladen"
fi
%>
</textarea>
<p>
<form method="post"><input type="submit" name="loadconfig" value="Router konfigurieren" style="margin-top: 5px; margin-left: 3px;" />
<%
if [ -f /tmp/configure-layer3-pid ] ; then
echo "<input type=\"submit\" name=\"testconfigcancel\" value=\"Test beenden\" style=\"margin-top: 5px; margin-left: 3px;\" />"
else
echo "<input type=\"submit\" name=\"testconfig\" value=\"Konfiguration testen\" style=\"margin-top: 5px; margin-left: 3px;\" />"
fi
%>
<input type="submit" name="applyconfig" value="Konfiguration &uuml;bernehmen" style="margin-top: 5px; margin-left: 3px;" /></form>
</p>
</td>
<td>
* Erstelle zuerst unten eine Konfiguration und speichere diese ab</br>
ChristianD marked this conversation as resolved
Review

Passiv verwenden. "Zuerst muss eine Konfiguration [..]"

Passiv verwenden. "Zuerst muss eine Konfiguration [..]"
* Klicke danach auf 'Router konfigurieren' um diese Konfiguration in die Routereinstellungen zu schreiben</br>
* Danach kannst du mit Konfiguration testen, die Konfiguration testen. Sollte alles funktionieren musst du diesen Test mit Test beenden beenden ansonsten werden nach 200 Sekunden die Einstellungen zur&uuml;ruck gesetzt. Sollte die Konfiguration fehlerhaft sein, warte einfach 200 Sekunden und du kommst auf den alten Weg wieder auf das Ger&auml;t. Ein manueller Neustart setzt auch die komplette Konfiguriation z&uuml;ruck</br>
* Wenn die Einstellungen funktionieren klicke auf Konfiguration &uuml;bernehmen, erst dann ist die Konfiguration auch rebootfest.</br>
ChristianD marked this conversation as resolved
Review

Bitte HTML Aufzählungen (ul/li) verwenden.

Noch besser: Als eigenen Block umsetzen.

Bitte HTML Aufzählungen (ul/li) verwenden. Noch besser: Als eigenen Block umsetzen.
</td></tr>
</table>
</fieldset>
<%
# read
l3config=$(cat /etc/config/gateway)
%>
<form method="post">
<table style="width: 100%;">
<tr><td>
<fieldset style="min-height: 13em;">
<legend>Konfigurationsdatei</legend>
ChristianD marked this conversation as resolved
Review

Ein Verweis auf den Dateipfad wäre hier vermutlich nicht schlecht, dann weiß man was man da editiert.

Ein Verweis auf den Dateipfad wäre hier vermutlich nicht schlecht, dann weiß man was man da editiert.
<textarea name="l3config" rows="25" cols="100"><% echo "$l3config" %></textarea>
</fieldset>
<p><input type="submit" name="writeconfig" value="Konfigurationdatei speichern" style="margin-top: 5px; margin-left: 3px;" />
<input type="submit" onclick="return confirm('Achtung: Es werden alle VLAN Einstellungen zur&uuml;ck gesetzt und die Standarteinstellungen gelanden. Willst du dies wirklich?')" name="loadvlandefault" value="VLAN default laden" style="margin-top: 5px; margin-left: 3px;" /></p>
ChristianD marked this conversation as resolved
Review

Typo: Standard

Ich würde das ganze "Auf Standard(einstellungen) zurücksetzen" oder "Standardkonfiguration laden" nennen.

Die Buttons mit in das fieldset der Konfigurationsdatei.

Typo: Standard Ich würde das ganze "Auf Standard(einstellungen) zurücksetzen" oder "Standardkonfiguration laden" nennen. Die Buttons mit in das fieldset der Konfigurationsdatei.
</td><td>
</form>
</table>
<%in /www/include/footer %>