{% extends "base.html" %} {% block title %}{{ target_user.display_name or target_user.email or target_user.user_id[:12] }} — Users{% endblock %} {% block page_title %}Users{% endblock %} {% block content %}
{{ target_user.user_id }}
{{ counts.completed }}/{{ counts.attempted }}
Challenges
{{ counts.badges }}
Badges
{{ counts.sessions }}
Sessions
{{ counts.events }}
Events
{{ counts.chats }}
Messages
{{ target_user.namespace }}
Namespace
No profile created
{% endif %}| Session ID | Type | Last Accessed | Expires | IP |
|---|---|---|---|---|
| {{ s.session_id[:16] }}... | {% if s.is_temporary %} temp {% else %} perm {% endif %} | {{ s.last_accessed.strftime('%b %d, %H:%M') if s.last_accessed else '-' }} | {{ s.expires_at.strftime('%b %d, %H:%M') if s.expires_at else '-' }} | {{ s.current_ip or s.original_ip or '-' }} |
| Challenge | Status | Attempts | Hints | Completed |
|---|---|---|---|---|
| {{ p.challenge_id }} | {{ p.status }} | {{ p.attempts }} | {{ p.hints_used }} | {{ p.completed_at.strftime('%b %d, %H:%M') if p.completed_at else '-' }} |
Kill Sessions
Force logout — deletes all sessions. User can re-login.
Delete Profile
Removes public profile (username, bio, avatar). User can recreate it.
{{ 'Deactivate' if target_user.is_active else 'Reactivate' }} User
{{ 'Blocks login. Preserves all data.' if target_user.is_active else 'Re-enables login access.' }}
Full CTF Reset
Permanently deletes all progress, badges, events, chat, and sessions. Irreversible.