{% extends "base.html" %} {% block title %}Gestión de Usuarios - {{ config.APP_NAME }}{% endblock %} {% block content %}

Gestión de Usuarios

Administra los usuarios del sistema, sus roles y permisos de forma segura.

Filtros de Búsqueda

{% for key, value in request.args.items() %} {% if key not in ['search', 'role', 'status', 'per_page', 'page'] %} {% endif %} {% endfor %}
{% set total_users = users.total %} {% set active_users = users.items|selectattr('is_active')|list|length %} {% set admin_users = users.items|selectattr('role', 'equalto', 'admin')|list|length %} {% set users_with_2fa = users.items|selectattr('two_factor_enabled')|list|length %}
Total Usuarios
{{ total_users }}
Usuarios Activos
{{ active_users }}
Administradores
{{ admin_users }}
Con 2FA
{{ users_with_2fa }}

Lista de Usuarios

Gestiona todos los usuarios registrados en el sistema

{% for user in users.items %} {% endfor %}
Usuario Rol Departamento Estado Último Acceso Acciones
{{ user.username[0].upper() }}
{{ user.username }}
{{ user.email }}
{% if user.role == 'admin' %} Administrador {% elif user.role == 'editor' %} Editor {% else %} Solo Lectura {% endif %} {% if user.department %} {{ user.department.name }} {% else %} Sin asignar {% endif %}
{% if user.is_active %} Activo {% else %} Inactivo {% endif %} {% if user.two_factor_enabled %} {% endif %}
{% if user.last_login %}
{{ user.last_login.strftime('%d/%m/%Y %H:%M') }}
{% else %} Nunca {% endif %}
{% if user.id != current_user.id %} {% endif %} {% if user.id != current_user.id %} {% endif %}
{% if users.pages > 1 %}
Mostrando {{ users.per_page * (users.page - 1) + 1 }} a {{ users.per_page * users.page if users.has_next else users.total }} de {{ users.total }} usuarios
{% if users.page > 1 %} {% endif %} {% if users.has_prev %} {% endif %} {% set start_page = [users.page - 2, 1]|max %} {% set end_page = [users.page + 2, users.pages]|min %} {% if start_page > 1 %} ... {% endif %} {% for page_num in range(start_page, end_page + 1) %} {% if page_num == users.page %} {{ page_num }} {% else %} {{ page_num }} {% endif %} {% endfor %} {% if end_page < users.pages %} ... {% endif %} {% if users.has_next %} {% endif %} {% if users.page < users.pages %} {% endif %}
Ir a:
{% for key, value in request.args.items() %} {% if key != 'page' %} {% endif %} {% endfor %}
{% endif %}

{% endblock %} {% block extra_js %} {% endblock %}