{% extends "tesm_core/base.html" %} {% from "tesm_core/macros.html" import field, select_field, checkbox, alert, nav_order_card %} {% block page_title %}Systemeinstellungen{% endblock %} {% block page_sub %}Portal, Self-Service, Protokolle, Host{% endblock %} {% block content %} {% if not sysops_available %} {{ alert('Systemhelfer nicht verfügbar -- Hostname und Zeitzone können hier nur angezeigt, nicht geändert werden.', 'info') }} {% endif %}
{{ icon('users', size=17) }} Kundenportal und Self-Service
Zwei unabhängige Zeitfenster: Link und Sitzung
{{ checkbox('portal_enabled', 'Kundenportal aktiv', checked=values.portal_enabled) }}
{{ field('portal_link_minutes', 'Zugangslink gültig (Minuten)', value=values.portal_link_minutes, type='number', hint_text=specs['portal_link_minutes'].hint) }} {{ field('portal_session_minutes', 'Portalsitzung gültig (Minuten)', value=values.portal_session_minutes, type='number', hint_text=specs['portal_session_minutes'].hint) }}
{{ checkbox('self_service_enabled', 'Self-Service-Link je Ticket aktiv', checked=values.self_service_enabled, hint_text=specs['self_service_enabled'].hint) }} {{ checkbox('allow_customer_revoke', 'Kunden dürfen ihre Lizenz selbst freigeben', checked=values.allow_customer_revoke, hint_text=specs['allow_customer_revoke'].hint) }}
{{ icon('ticket', size=17) }} Vorgaben und Protokolle
{{ field('default_valid_days', 'Vorgeschlagene Laufzeit neuer Tickets (Tage)', value=values.default_valid_days, type='number') }} {{ 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') }}
{# 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
{{ 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('server', size=17) }} Host
{{ field('hostname', 'Hostname', value=hostname, disabled=not sysops_available) }}
{% if current_user.is_admin %} {{ nav_order_card(nav_baum, nav_order, nav_child_order, url_for('admin.nav_order'), csrf_field_name, csrf_token(), sub='Gilt für alle Benutzer') }} {% endif %}
{% endblock %}