16 ♻️ RESTAURAR Usuarios Eliminados | Papelera de Reciclaje (Trashing) en Laravel 12 CRUD FullStack
Duración: 15 min
Módulo: 🛡️ Roles, Permisos y Gestión de Usuarios (Spatie) 7-16
Lección 10 de
10
Descripción
Lección 16: ♻️ Recuperación y Auditoría: Restauración de Usuarios y Papelera de Reciclaje
Este capítulo cierra el módulo de usuarios implementando la funcionalidad de "papelera de reciclaje" (Trashing), que permite restaurar registros previamente eliminados suavemente (Soft Deletes), manteniendo la integridad y la auditoría del sistema.
🔍 Extensión del Listado (Index)
Se modifica la consulta principal en el controlador para gestionar tanto usuarios activos como inactivos:
- 👻 Mostrar Eliminados: Se incorpora el método withTrashed() a la consulta [06:41], lo que fuerza a Laravel a incluir los usuarios inactivos o "eliminados" (aquellos con el campo deleted_at rellenado).
- 🛡️ Exclusión de SuperAdmin: Se añade un filtro para omitir al usuario con el rol Super Admin [06:19], asegurando que el administrador total no pueda ser modificado o eliminado por accidente.
- 🚦 Indicador de Estado: Una nueva columna muestra el estado del usuario [04:45] como Activo o Inactivo, según el valor de su campo estado en la base de datos [05:22].
🧱 Lógica de Acciones Condicionales
La interfaz se adapta para ofrecer solo acciones pertinentes a cada registro:
- 🟢 Usuarios Activos: Solo aquellos usuarios con estado = 1 (activo) pueden ser Editados o Eliminados [07:54].
- 🟠 Usuarios Inactivos: Los registros eliminados (estado = 0) deshabilitan las acciones de edición/eliminación y, en su lugar, muestran un botón de Restaurar [08:12].
💾 Implementación de la Restauración (Restore)
Se define el proceso para traer de vuelta un usuario al sistema:
- 🔗 Ruta y Función: Se crea la ruta POST para la acción restaurar [01:52] y se define la función restore() en el controlador [02:31] que recibe el ID del usuario.
- 💬 Confirmación: El usuario debe confirmar la acción mediante una ventana de SweetAlert2 [12:15] antes de proceder con la recuperación.
- 🔁 Lógica de Recuperación: La función ejecuta dos pasos esenciales [13:35]:
- Ejecuta el método restore() de Laravel para establecer el campo deleted_at a null.
- Actualiza el campo estado del usuario a true (1), reactivando su acceso al sistema.
- ✅ Éxito: La acción concluye con un mensaje de "usuario restaurado exitosamente" [13:57], y el usuario vuelve al listado como un registro activo [14:08].
Lecciones
🚀 Configuración Inicial y Sistema de Administración 1-6
🛡️ Roles, Permisos y Gestión de Usuarios (Spatie) 7-16
Lección 4. 10 ⚙️ CRUD Completo de Roles | Spatie Roles & Permisos | Ecommerce Laravel 12 FullStack
25 min
Lección 6. 12 🔐 Ajustes en el Login y Seeder de Usuarios | Sistema Ecommerce Laravel 12 FullStack
40 min
Lección 8. 14 🔍 Buscador y Detalle de Usuarios (Acción Show) | Ecommerce Laravel 12 FullStack
32 min
📦 Módulos Esenciales (Categorías y Productos) 17-24
🛒 Tienda Online (Frontend Shop) y Funcionalidades 25-33
Lección 4. 28 🛒 Vista Show Dinámica del Producto | Descripción y Datos Relacionados | Laravel 12
15 min
💳 Carrito, Checkout y Pasarela de Pagos 34-42
Lección 4. 37 💳 PASARELA DE PAGOS PayPal | Integración y Lógica de Checkout en Laravel 12 E-commerce
27 min
Lección 5. 38 ✅ PAGO COMPLETADO y REGISTRO de Pedido | Lógica Final de Venta con PayPal y Laravel 12
11 min
⚙️ Gestión de Órdenes, Perfiles y Características Avanzadas 43-61
Lección 5. 47 🔗 BUSCADOR AVANZADO: Filtrando Tablas Relacionadas con WHERE HAS y Joins en Laravel 12
10 min
📊 Análisis de Datos, Despliegue y Conclusión 62-68
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️