Fix: mostrar solo actividad del usuario actual en dashboard #9

Merged
rafaga21 merged 1 commits from fix/dashboard-activity-filter into master 2026-06-07 12:26:44 -04:00
2 changed files with 16 additions and 10 deletions

View File

@@ -40,7 +40,7 @@ class DashboardController
})) : [];
}
$recentActivity = $this->auditService->getRecentActivity(10);
$recentActivity = $this->auditService->getRecentActivity(10, $userId);
$this->view->display('dashboard.index', [
'title' => 'Dashboard - ServerManager',

View File

@@ -124,16 +124,22 @@ class AuditService
);
}
public function getRecentActivity(int $limit = 20): array
public function getRecentActivity(int $limit = 20, ?int $userId = null): array
{
return $this->db->fetchAll(
'SELECT al.*, u.username as actor_name
FROM audit_logs al
LEFT JOIN users u ON al.user_id = u.id
ORDER BY al.created_at DESC
LIMIT ?',
[$limit]
);
$sql = 'SELECT al.*, u.username as actor_name
FROM audit_logs al
LEFT JOIN users u ON al.user_id = u.id';
$params = [];
if ($userId !== null) {
$sql .= ' WHERE al.user_id = ?';
$params[] = $userId;
}
$sql .= ' ORDER BY al.created_at DESC LIMIT ?';
$params[] = $limit;
return $this->db->fetchAll($sql, $params);
}
public function getAuditLogs(int $page = 1, int $perPage = 50, array $filters = []): array