{% extends "admin/base.html" %} {% block title %}Dashboard{% endblock %} {% block content %}

Site Admin Dashboard

{{ stats.group_count }}
Groups
{{ stats.user_count }}
Users
{{ stats.db_configured }}
DBs configured
{{ stats.admin_count }}
Site Admins
{{ stats.mail_configured }}
Mail configured
Groups New
{% for g in groups %} {% else %} {% endfor %}
NameMembersDB
{{ g.name }} {{ g.member_count }} {% if g.has_db %} Configured {% else %} None {% endif %}
No groups yet
Users New
{% for u in users %} {% else %} {% endfor %}
UserGroupsAdmin
{{ u.username }} {{ u.group_count }} {% if u.is_site_admin %}{% endif %}
No users yet
Recent Audit Activity
{% if retention_days > 0 %} Retention: {{ retention_days }}d {% endif %} Full log
{% for row in recent_audit %} {% set action_class = { 'user.login': 'badge bg-success', 'user.login_failed': 'badge bg-danger', 'user.password_changed': 'badge bg-warning text-dark', 'session.logout': 'badge bg-secondary', 'admin.login': 'badge bg-warning text-dark', 'admin.login_failed': 'badge bg-danger', 'admin.view_users': 'badge bg-dark border border-secondary', 'admin.view_user': 'badge bg-dark border border-secondary', 'admin.view_group': 'badge bg-dark border border-secondary', 'admin.view_group_members': 'badge bg-dark border border-secondary', 'admin.view_audit_log': 'badge bg-dark border border-secondary', 'invite.created': 'badge bg-primary', 'invite.accepted': 'badge bg-success', 'invite.revoked': 'badge bg-secondary', 'invite.resent': 'badge bg-info text-dark', 'member.added': 'badge bg-primary', 'member.removed': 'badge bg-danger', 'member.role_changed': 'badge bg-warning text-dark', 'group.created': 'badge bg-success', 'group.updated': 'badge bg-secondary', 'group.deleted': 'badge bg-danger', 'db.credentials_changed': 'badge bg-warning text-dark', 'db.credentials_deleted': 'badge bg-danger', 'user.updated': 'badge bg-secondary', 'user.deleted': 'badge bg-danger', 'mail.settings_saved': 'badge bg-info text-dark', 'mail.settings_deleted': 'badge bg-danger', 'consent.given': 'badge bg-success', 'consent.declined': 'badge bg-warning text-dark', 'audit.purged': 'badge bg-danger', 'panel.view_players': 'badge bg-dark border border-info', 'panel.view_player': 'badge bg-info text-dark', 'panel.view_sessions': 'badge bg-dark border border-info', 'panel.view_chat': 'badge bg-dark border border-info', 'panel.view_commands': 'badge bg-dark border border-info', 'panel.view_deaths': 'badge bg-dark border border-info', 'panel.view_blocks': 'badge bg-dark border border-info', 'panel.view_proxy': 'badge bg-dark border border-info', 'panel.view_server_events': 'badge bg-dark border border-info', 'panel.view_perms': 'badge bg-dark border border-info', } %} {% else %} {% endfor %}
Timestamp (UTC) Actor Action Group Details IP Address
{{ row.created_at | fmt_dt }} {% if row.actor_username %} {{ row.actor_username }} {% else %} {% endif %} {{ row.action }} {% if row.group_name %} {{ row.group_name }} {% else %} {% endif %} {% if row.details %} {% set d = row.details if row.details is mapping else {} %} {% for k, v in d.items() %} {{ k }}: {{ v }} {% endfor %} {% else %}—{% endif %} {{ row.ip_address or '—' }}
No audit events yet.
{% endblock %}