hasPermission('r-task-cert-admin')) { return [ 'error' => 'Keine Berechtigung für die Aufgaben-Administration.', ]; } $taskId = TaskCertRequest::queryInt('id', 0); if ($taskId <= 0) { return [ 'error' => 'Ungültige Aufgaben-ID.', ]; } $services = task_cert_services(); $task = $services['taskDefinitionService']->getTaskDetail($taskId); if ($task === null) { return [ 'error' => 'Aufgabe nicht gefunden.', ]; } $monitoringService = $services['taskMonitoringService'] ?? null; if (!$monitoringService instanceof TaskMonitoringService) { return [ 'error' => 'Monitoring-Service konnte nicht initialisiert werden.', ]; } $dashboard = $monitoringService->buildDashboard($task, [ 'cycle_key' => TaskCertRequest::queryString('cycle_key', ''), 'tab' => TaskCertRequest::queryString('tab', 'overview'), ]); return [ 'error' => null, 'task' => $task, 'dashboard' => $dashboard, 'csrf_token' => TaskCertCsrf::token(), ]; }