SU User Moderation & Badges

Usuarios

Listado de Usuarios

Ruta: GET /us/su/lau/usuariosVista: su/usuariosMétodo: SUController::userperfil()

$users = User::with(['universidad', 'carrera', 'insignias'])
    ->withCount(['posts', 'followers', 'reportesRecibidos'])
    ->latest()
    ->get();

Cada usuario en la lista muestra:

Búsqueda de Usuarios (AJAX)

Ruta: GET /us/su/lau/buscar-usuariosMétodo: SUController::buscarUsuarios()

Query param: buscar (string)

Busca en name y username con LIKE. Devuelve un partial Blade components.listar-perfiles-su para inyectar vía AJAX en la vista.

Perfil Detallado

Ruta: GET /us/su/lau/info/{user:username}Vista: su/perfilMétodo: SUController::info()

Muestra el perfil completo de un usuario con todas sus relaciones y actividad.

Eliminar Usuario

Ruta: DELETE /us/su/lau/usuarios/{id}Método: SUController::destroy()

Requiere verificación de contraseña del admin:

// 1. Validar que viene el campo password_verific_modify
$request->validate([
    'password_verific_modify' => 'required|string',
]);

// 2. Verificar contra la contraseña secundaria del admin
$admin = auth()->user();
if (!Hash::check($request->password_verific_modify, $admin->password_verific_modify)) {
    return back()->withErrors(['password_verific_modify' => 'La contraseña de administrador es incorrecta.']);
}

// 3. Eliminar usuario
$usuarioAEliminar = User::findOrFail($id);
$usuarioAEliminar->delete();

La eliminación de usuarios requiere la contraseña secundaria (password_verific_modify) del admin SU como medida de seguridad. No basta con estar autenticado en el panel.


Insignias