{% extends "app_base.html" %} {% block title %}Admin{% endblock %} {% block page_title %}Administration{% endblock %} {% block content %} {% include "_admin_tabs.html" %} {% if notice %}
{{ notice }}
{% endif %} {% if error %}
{{ error }}
{% endif %}

Users

{% for u in users %} {% endfor %}
UsernameDisplay nameRole
{{ u.username }} {{ u.display_name }} {{ "admin" if u.is_admin else "user" }}
Reset password
{% if u.id != user.id %}
{% endif %}

Email (SMTP)

Used for "forgot password" links and battery-low alerts (set per frame in its Configuration tab). Each user needs an email set in their own Settings for either to reach them.

Enroll a user

Frames

{% for f in frames %}

#{{ f.id }} {{ f.name }}
device: {{ f.device_id or "not yet reported" }}
owner: {{ (f.owner.username if f.owner else none) or "UNCLAIMED" }} · linked: {{ links_by_frame.get(f.id, []) | map(attribute="username") | join(", ") or "nobody" }}
firmware: {{ f.device_firmware_version or "?" }} ({{ f.device_board_variant or "board unknown" }}) · panel: {{ panel_labels.get(f.panel_type, f.panel_type) }} · token ack: {{ "yes" if f.device_token_ack else "no" }}

{% endfor %} {% if not frames %}

No frames yet.

{% endif %}
{% endblock %}