2.2 KiB
2.2 KiB
👥 Gestión de Usuarios - GKACHELE™
© 2025 GKACHELE™. Todos los derechos reservados.
🎯 Objetivo
Sistema completo para ver, gestionar y eliminar usuarios registrados desde el panel de administración.
📍 Ubicación
Ruta: /admin (solo usuarios con rol administrator)
🔍 Funcionalidades
1. Ver Todos los Usuarios
El panel muestra:
- ID del usuario
- Plan (base, premium, etc.)
- Rubro
- Fecha de registro
- Número de sitios creados
- Sitios publicados
- Solicitudes enviadas
2. Eliminar Usuarios
Ruta: POST /admin/users/delete/<user_id>
Protección:
- Solo usuarios con rol
administrator - No se puede eliminar al usuario ID=1 (admin principal)
Proceso de eliminación:
- Elimina widgets del usuario
- Elimina menús del usuario
- Elimina media del usuario
- Elimina contenido del usuario
- Elimina configuraciones del usuario
- Elimina solicitudes del usuario
- Elimina sitios del usuario
- Elimina el usuario
Todo en una transacción - Si falla algo, se revierte todo.
🛡️ Seguridad
- Verificación de rol desde la base de datos (no hardcodeado)
- Confirmación antes de eliminar
- Transacciones para integridad de datos
- Protección del admin principal
📊 Consultas Útiles
Ver usuarios con estadísticas:
SELECT
u.id,
u.email,
u.plan,
u.rubro,
u.role,
u.status,
u.created_at,
COUNT(DISTINCT s.id) as num_sitios,
COUNT(DISTINCT CASE WHEN s.status = 'published' THEN s.id END) as sitios_publicados,
COUNT(DISTINCT r.id) as num_solicitudes
FROM users u
LEFT JOIN sites s ON u.id = s.user_id
LEFT JOIN requests r ON u.id = r.user_id
GROUP BY u.id
ORDER BY u.id DESC;
Filtrar usuarios inactivos:
SELECT * FROM users WHERE status != 'active';
Ver usuarios sin sitios:
SELECT u.* FROM users u
LEFT JOIN sites s ON u.id = s.user_id
WHERE s.id IS NULL;
🚀 Próximas Mejoras
- Filtros por rol, plan, estado
- Búsqueda de usuarios
- Editar usuario (cambiar rol, plan, estado)
- Suspender usuario (sin eliminar)
- Exportar lista de usuarios
- Estadísticas de usuarios
Última actualización: 14 Enero 2025
Hash: gkachele-gestion-usuarios-20250114