{% extends "base.html" %} {% block title %}Log{% endblock %} {% macro sortable_header(label, field, current_sort, current_order) %} {% if current_sort == field %} {% else %} {% endif %} {{ label }} {% if current_sort == field %} {% if current_order == 'asc' %}↑{% else %}↓{% endif %} {% else %} ↕ {% endif %} {% endmacro %} {% block extra_css %} {% endblock %} {% block content %}

📝 Log

{% for log in logs %} {% endfor %}
Zeitstempel Benutzer Aktion Entität Details IP-Adresse
{{ log.timestamp.strftime('%d.%m.%Y %H:%M:%S') }} {{ log.username }} {% if log.action == 'CREATE' %}➕ Erstellt {% elif log.action == 'UPDATE' %}✏️ Bearbeitet {% elif log.action == 'DELETE' %}🗑️ Gelöscht {% elif log.action == 'LOGIN' %}🔑 Anmeldung {% elif log.action == 'LOGOUT' %}🚪 Abmeldung {% elif log.action == 'AUTO_LOGOUT' %}⏰ Auto-Logout {% elif log.action == 'EXPORT' %}📥 Export {% elif log.action == 'GENERATE_KEY' %}🔑 Key generiert {% elif log.action == 'CREATE_BATCH' %}🔑 Batch erstellt {% elif log.action == 'BACKUP' %}💾 Backup erstellt {% elif log.action == 'LOGIN_2FA_SUCCESS' %}🔐 2FA-Anmeldung {% elif log.action == 'LOGIN_2FA_BACKUP' %}🔒 2FA-Backup-Code {% elif log.action == 'LOGIN_2FA_FAILED' %}⛔ 2FA-Fehlgeschlagen {% elif log.action == 'LOGIN_BLOCKED' %}🚫 Login-Blockiert {% elif log.action == 'RESTORE' %}🔄 Wiederhergestellt {% elif log.action == 'PASSWORD_CHANGE' %}🔐 Passwort geändert {% elif log.action == '2FA_ENABLED' %}✅ 2FA aktiviert {% elif log.action == '2FA_DISABLED' %}❌ 2FA deaktiviert {% else %}{{ log.action }} {% endif %} {{ log.entity_type }} {% if log.entity_id %} #{{ log.entity_id }} {% endif %} {% if log.additional_info %}
{{ log.additional_info }}
{% endif %} {% if log.old_values and log.action == 'DELETE' %}
Gelöschte Werte
{% for key, value in log.old_values.items() %} {{ key }}: {{ value }}
{% endfor %}
{% elif log.old_values and log.new_values and log.action == 'UPDATE' %}
Änderungen anzeigen
Vorher:
{% for key, value in log.old_values.items() %} {% if log.new_values[key] != value %} {{ key }}: {{ value }}
{% endif %} {% endfor %}
Nachher:
{% for key, value in log.new_values.items() %} {% if log.old_values[key] != value %} {{ key }}: {{ value }}
{% endif %} {% endfor %}
{% elif log.new_values and log.action == 'CREATE' %}
Erstellte Werte
{% for key, value in log.new_values.items() %} {{ key }}: {{ value }}
{% endfor %}
{% endif %}
{{ log.ip_address or '-' }}
{% if not logs %}

Keine Audit-Log-Einträge gefunden.

{% endif %}
{% if total_pages > 1 %} {% endif %}
{% endblock %} {% block extra_js %} {% endblock %}