private function prepareRunningTaskView(\Nethgui\View\ViewInterface $view) { $data = $this->systemTasks->getTaskStatus($this->taskId); $ui = $this->applyTaskUiDefaults(isset($data['ui']) ? $data['ui'] : array(), array('view' => $view, 'notifications' => $this->notifications)); $status = 'running'; if (isset($data['exit_code'])) { $status = $data['exit_code'] ? 'failure' : 'success'; } $data['taskInfo'] = array('id' => $this->taskId); $s = $this->evalUiStatus($ui['conditions'][$status], $data, $view); if (is_numeric($data['progress'])) { $view['progress'] = intval(100 * $data['progress']); } else { $view['progress'] = '...'; } $view['message'] = $s['message']; $view['trackerState'] = array('dialog' => $s['dialog'], 'location' => $s['location']); if (is_array($s['notification'])) { call_user_func(array($this->notifications, $s['notification']['template']), $s['notification']['data']); unset($view['notification']); } elseif (is_string($s['notification'])) { $this->notifications->notice($s['notification']); } }
private function notifyEvent(\Symfony\Component\Process\Process $process) { if ($process->getExitCode() !== 0) { $this->notifications->trackerError(array('failedTasks' => \Nethgui\Module\Tracker::findFailures($this->systemTasks->getTaskStatus($process->taskId)))); } }