From 7aedc39f694969910bd4f647f89c06da7f2ea3ec Mon Sep 17 00:00:00 2001 From: fbsanchez Date: Thu, 7 Jan 2021 13:48:57 +0100 Subject: [PATCH] Task list status --- .../wizards/DiscoveryTaskList.class.php | 110 +++++++++++------- 1 file changed, 67 insertions(+), 43 deletions(-) diff --git a/pandora_console/godmode/wizards/DiscoveryTaskList.class.php b/pandora_console/godmode/wizards/DiscoveryTaskList.class.php index a0a5fe549f..3c4f0fcb22 100644 --- a/pandora_console/godmode/wizards/DiscoveryTaskList.class.php +++ b/pandora_console/godmode/wizards/DiscoveryTaskList.class.php @@ -539,46 +539,9 @@ class DiscoveryTaskList extends HTML $data[4] = '-'; } - $can_be_reviewed = false; - if (empty($task['summary']) === false - && $task['summary'] == 'cancelled' - ) { - $data[5] = __('Cancelled').ui_print_help_tip( - __('Server has been restarted while executing this task, please retry.'), - true - ); - } else if ($task['review_mode'] == DISCOVERY_STANDARD) { - if ($task['status'] <= 0 - && empty($task['summary']) === false - ) { - $data[5] = __('Done'); - } else if ($task['utimestamp'] == 0 - && empty($task['summary']) - ) { - $data[5] = __('Not started'); - } else { - $data[5] = __('Pending'); - } - } else { - if ($task['status'] <= 0 - && empty($task['summary']) === false - ) { - $can_be_reviewed = true; - $data[5] = ''; - $data[5] .= __('Review'); - $data[5] .= ''; - } else if ($task['utimestamp'] == 0 - && empty($task['summary']) - ) { - $data[5] = __('Not started'); - } else { - if ($task['review_mode'] == DISCOVERY_RESULTS) { - $data[5] = __('Processing'); - } else { - $data[5] = __('Searching'); - } - } - } + $_rs = $this->getStatusMessage($task); + $can_be_reviewed = $_rs['can_be_reviewed']; + $data[5] = $_rs['message']; switch ($task['type']) { case DISCOVERY_CLOUD_AZURE_COMPUTE: @@ -954,7 +917,7 @@ class DiscoveryTaskList extends HTML */ private function progressTaskGraph($task) { - $result .= '
'; + $result = '
'; $result .= '
'; $result .= ''._('Overall Progress').''; @@ -1546,9 +1509,9 @@ class DiscoveryTaskList extends HTML ); if (empty($summary)) { - $out .= __('No changes. Re-Scheduled'); + $out = __('No changes. Re-Scheduled'); } else { - $out .= __('Scheduled for creation'); + $out = __('Scheduled for creation'); $out .= '
    '; $out .= join('', $summary); $out .= '
'; @@ -1560,4 +1523,65 @@ class DiscoveryTaskList extends HTML } + /** + * Generates task status string for given task. + * + * @param array $task Discovery task (retrieved from DB). + * + * @return array Message to be displayed and review status. + */ + public function getStatusMessage(array $task) + { + $status = ''; + $can_be_reviewed = false; + + if (empty($task['summary']) === false + && $task['summary'] == 'cancelled' + ) { + $status = __('Cancelled').ui_print_help_tip( + __('Server has been restarted while executing this task, please retry.'), + true + ); + } else if ($task['review_mode'] == DISCOVERY_STANDARD) { + if ($task['status'] <= 0 + && empty($task['summary']) === false + ) { + $status = __('Done'); + } else if ($task['utimestamp'] == 0 + && empty($task['summary']) + ) { + $status = __('Not started'); + } else if ($task['utimestamp'] > 0) { + $status = __('Done'); + } else { + $status = __('Pending'); + } + } else { + if ($task['status'] <= 0 + && empty($task['summary']) === false + ) { + $can_be_reviewed = true; + $status = ''; + $status .= __('Review'); + $status .= ''; + } else if ($task['utimestamp'] == 0 + && empty($task['summary']) + ) { + $status = __('Not started'); + } else { + if ($task['review_mode'] == DISCOVERY_RESULTS) { + $status = __('Processing'); + } else { + $status = __('Searching'); + } + } + } + + return [ + 'message' => $status, + 'can_be_reviewed' => $can_be_reviewed, + ]; + } + + }