{% extends "tesm_core/base.html" %} {% from "tesm_core/macros.html" import field, select_field, checkbox, alert, pill, nav_order_card %} {% block page_title %}Systemeinstellungen{% endblock %} {% block page_sub %}Überwachung, Protokolle, Host, Navigation{% endblock %} {% block content %} {% if not sysops_available %} {{ alert('Systemhelfer nicht verfügbar -- Hostname und Zeitzone können hier nur angezeigt, nicht geändert werden. In einer Entwicklungsumgebung ist das der erwartete Zustand.', 'info') }} {% endif %}
{{ icon('activity', size=17) }} Überwachung
Wie oft geprüft und wann automatisch geschaltet wird
{% if current_user.has('settings_system.execute') %}
{% endif %}
{% if license_hint %}{{ alert(license_hint, 'warning') }}{% endif %}
{{ field('monitor_interval_seconds', 'Prüfintervall (Sekunden)', value=values.monitor_interval_seconds, type='number', disabled=bool(license_hint), hint_text=specs['monitor_interval_seconds'].hint) }} {{ field('monitor_failures_before_restart', 'Fehlversuche bis zum PoE-Neustart', value=values.monitor_failures_before_restart, type='number', hint_text=specs['monitor_failures_before_restart'].hint) }}
{{ checkbox('monitor_auto_restart', 'Automatischen PoE-Neustart bei Ausfall aktivieren', checked=values.monitor_auto_restart, hint_text='Zusätzlich lizenzpflichtig. Der manuelle Knopf im Dashboard funktioniert unabhängig davon.') }} {{ checkbox('dashboard_public', 'Statusübersicht ohne Anmeldung erreichbar', checked=values.dashboard_public, hint_text=specs['dashboard_public'].hint) }}
{{ icon('terminal', size=17) }} Terminal
Auch bei aktiver Konsole gilt: eigenes Recht, frische Passwortbestätigung, vollständige Mitschrift. Abgeschaltet bleibt das Freigeben von SSH-Host-Schlüsseln möglich – es wird für den PoE-Neustart gebraucht.
{{ checkbox('terminal_switches_enabled', 'Browser-Konsole für Switche zulassen', checked=values.terminal_switches_enabled, hint_text=specs['terminal_switches_enabled'].hint) }} {{ checkbox('terminal_clients_enabled', 'Browser-Konsole für Clients zulassen', checked=values.terminal_clients_enabled, hint_text=specs['terminal_clients_enabled'].hint) }} {{ field('terminal_idle_timeout', 'Trennen bei Untätigkeit (Sekunden)', value=values.terminal_idle_timeout, type='number') }}
{{ icon('pencil', size=17) }} Unterschriften
Der Name in der Unterschrift ist eine Angabe des Unterschreibenden – wie auf Papier. Wer das Dokument abgelegt hat, ist dagegen belegt: in den Dokumenteigenschaften und im Änderungsprotokoll, auf Wunsch zusätzlich sichtbar unter der ersten Unterschrift.
{{ checkbox('signature_witness_enabled', 'Unterschriften mit dem ablegenden Konto bezeugen', checked=values.signature_witness_enabled, hint_text=specs['signature_witness_enabled'].hint) }}
{# Eigene Karte: die Abmeldung stand zwischen Protokollrotation und Papierkorb -- drei Dinge ohne Zusammenhang. Wer die Sitzungsdauer sucht, sucht sie nicht unter "Protokolle". #}
{{ icon('clock', size=17) }} Sitzungen
Wie lange eine Anmeldung gilt. Beides bestimmt auch, wie lange eine eingebundene Dateifreigabe bestehen bleibt – sie endet mit der Sitzung.
{{ field('session_idle_minutes', 'Automatische Abmeldung nach Leerlauf (Minuten)', value=values.session_idle_minutes, type='number', attrs='min="5" max="1440" step="1"', hint_text=specs['session_idle_minutes'].hint) }} {{ field('session_absolute_hours', 'Längstmögliche Sitzungsdauer (Stunden)', value=values.session_absolute_hours, type='number', attrs='min="1" max="168" step="1"', hint_text=specs['session_absolute_hours'].hint) }}
{{ icon('file-text', size=17) }} Protokolle und Papierkorb
{{ select_field('log_rotate_interval', 'Rotationsintervall', specs['log_rotate_interval'].choices, selected=values.log_rotate_interval) }} {{ field('log_rotate_keep', 'Aufbewahrte Rotationen', value=values.log_rotate_keep, type='number') }} {{ field('trash_retention_days', 'Papierkorb-Aufbewahrung (Tage)', value=values.trash_retention_days, type='number', hint_text=specs['trash_retention_days'].hint) }}
{{ icon('server', size=17) }} Host
{{ field('hostname', 'Hostname', value=hostname, disabled=not sysops_available) }}
{% if current_user.is_admin %} {{ nav_order_card(nav_items, nav_order, nav_child_order, url_for('admin.nav_order'), csrf_field_name, csrf_token()) }} {% endif %}
{% endblock %}