{# Gemeinsame Auditlog-Zeilendarstellung -- von activity_log.html (Erstladung) UND _audit_log_rows.html (AJAX-Nachladen über "Weitere 500 laden") importiert, damit beide garantiert dieselbe Darstellung erzeugen und action_labels/action_icons/category_of nicht an zwei Stellen gepflegt werden müssen. #} {% set action_labels = { "settings.update": "Einstellung geändert", "device.create": "Gerät angelegt", "device.edit": "Gerät bearbeitet", "device.delete": "Gerät gelöscht", "device.activate": "Gerät aktiviert", "device.deactivate": "Gerät deaktiviert", "switch.create": "Switch angelegt", "switch.edit": "Switch bearbeitet", "switch.delete": "Switch gelöscht", "credential.create": "Zugangsdaten angelegt", "credential.edit": "Zugangsdaten bearbeitet", "credential.delete": "Zugangsdaten gelöscht", "user.create": "Benutzer angelegt", "user.edit": "Benutzer bearbeitet", "user.delete": "Benutzer gelöscht", "user.assign_group": "Gruppe zugewiesen", "group.create": "Gruppe angelegt", "group.edit": "Gruppe bearbeitet", "group.delete": "Gruppe gelöscht", "group.assign_admins": "Admin-Zuweisung geändert", "profile.update": "Profil aktualisiert", "profile.password": "Passwort geändert", "check.run_now": "Prüfung manuell gestartet", "fileshare.upload": "Datei(en) hochgeladen", "fileshare.mkdir": "Ordner angelegt", "fileshare.delete": "Datei/Ordner gelöscht", "fileshare.rename": "Datei/Ordner umbenannt", "fileshare.download": "Als ZIP heruntergeladen", "auditlog.archive": "Auditlog archiviert", "auditlog.export_delete": "Auditlog-Archiv exportiert", } %} {% set action_icons = { "delete": '', "create": '', "edit": '', "activate": '', "deactivate": '', } %} {% set create_kinds = ("create", "upload", "mkdir") %} {% macro category_of(kind) %}{% if kind in create_kinds %}create{% elif kind == "delete" %}delete{% else %}edit{% endif %}{% endmacro %} {% macro audit_row(e) %} {% set kind = e['action'].split('.')[-1] %} {% set cat = category_of(kind)|trim %} {{ e['ts'] }} {{ e['username'] }} {{ (action_icons.get(kind) or action_icons['edit'])|safe }} {{ action_labels.get(e['action'], e['action']) }} {{ e['target'] or '—' }} {{ e['details'] or '—' }} {% endmacro %}