{% extends "admin/base.html" %} {% block title %}Password Reset Requests - Admin{% endblock %} {% block admin_content %}

Password Reset Requests

{% if requests.items %}
{{ requests.total }} Password Reset {{ 'Request' if requests.total == 1 else 'Requests' }} {% if status != 'all' %}({{ status.replace('_', ' ').title() }}){% endif %}
{% for request in requests.items %} {% endfor %}
Request Date User Email User Found Status Generated Tokens Actions
{{ request.created_at.strftime('%Y-%m-%d') }}
{{ request.created_at.strftime('%H:%M:%S') }}
{{ request.user_email }}
{% if request.user %} {{ request.user.nickname }} {% endif %}
{% if request.user %} Found {% else %} Not Found {% endif %} {% if request.status == 'pending' %} Pending {% elif request.status == 'token_generated' %} Token Generated {% elif request.status == 'completed' %} Completed {% elif request.status == 'expired' %} Expired {% endif %}
{{ request.tokens|length }}
{% set active_tokens = request.tokens|selectattr('is_valid')|list %} {% if active_tokens %} {{ active_tokens|length }} active {% else %} None active {% endif %}
{% if request.user and request.status == 'pending' %}
{% endif %}
{% if requests.pages > 1 %} {% endif %} {% else %}
No Password Reset Requests

{% if status == 'all' %} No password reset requests have been made yet. {% else %} No {{ status.replace('_', ' ') }} password reset requests found. {% endif %}

{% if status != 'all' %} View All Requests {% endif %}
{% endif %}
How Password Reset Works
Process Flow:
  1. User requests password reset through chat system
  2. Request appears here with "Pending" status
  3. Admin generates one-time reset token (24h expiry)
  4. Admin copies email template and sends to user
  5. User clicks link and resets password
  6. Token becomes "Used" and request "Completed"
Status Meanings:
  • Pending - Awaiting admin action
  • Token Generated - Reset link created
  • Completed - Password successfully reset
  • Expired - Token expired unused
{% endblock %}