From 7ed61cca750ce92e67bffb2177d0be134e4cb73b Mon Sep 17 00:00:00 2001 From: Pablo Aragon Date: Wed, 10 May 2023 08:43:29 +0200 Subject: [PATCH 1/2] 10640-Report task --- .../godmode/reporting/reporting_builder.php | 26 ++++++++++++++++--- pandora_console/godmode/servers/discovery.php | 2 +- .../wizards/DiscoveryTaskList.class.php | 13 ++++++++++ pandora_console/images/report-task.svg | 8 ++++++ 4 files changed, 45 insertions(+), 4 deletions(-) create mode 100644 pandora_console/images/report-task.svg diff --git a/pandora_console/godmode/reporting/reporting_builder.php b/pandora_console/godmode/reporting/reporting_builder.php index cd049f1d83..f8c54abbf3 100755 --- a/pandora_console/godmode/reporting/reporting_builder.php +++ b/pandora_console/godmode/reporting/reporting_builder.php @@ -120,6 +120,8 @@ require_once $config['homedir'].'/include/functions_reports.php'; // Load enterprise extensions. enterprise_include('operation/reporting/custom_reporting.php'); enterprise_include_once('include/functions_metaconsole.php'); +enterprise_include_once('include/functions_tasklist.php'); +enterprise_include_once('include/functions_cron.php'); @@ -782,7 +784,7 @@ switch ($action) { ''.__('Filters').'', 'filter_form', '', - false, + true, false, '', 'white-box-content', @@ -1251,7 +1253,12 @@ switch ($action) { array_push($table->data, $data); } - html_print_table($table); + $reports_table = '
'; + $reports_table .= ''.__('Reports').''; + $reports_table .= html_print_table($table, true); + $reports_table .= '
'; + echo $reports_table; + $tablePagination = ui_pagination( $total_reports, $url, @@ -1259,7 +1266,7 @@ switch ($action) { $pagination, true, 'offset', - false, + false ); } else { ui_print_info_message( @@ -1270,6 +1277,19 @@ switch ($action) { ); } + $report_task_data = enterprise_hook('tasklist_showListConsoleTask', [$object, true]); + if (is_array($report_task_data) === true || strpos($report_task_data, 'class="nf"') === false) { + $task_table = '
'; + $task_table .= ''.__('Report tasks'); + $task_table .= ui_print_help_tip(__('To schedule a report, do it from the editing view of each report.'), true); + $task_table .= '
'; + $task_table .= $report_task_data; + $task_table .= '
'; + echo $task_table; + } else { + ui_print_info_message($report_task_data.__('To schedule a report, do it from the editing view of each report.')); + } + if (check_acl($config['id_user'], 0, 'RW') || check_acl($config['id_user'], 0, 'RM') ) { diff --git a/pandora_console/godmode/servers/discovery.php b/pandora_console/godmode/servers/discovery.php index 3df3342f52..0fb36b4cfb 100755 --- a/pandora_console/godmode/servers/discovery.php +++ b/pandora_console/godmode/servers/discovery.php @@ -161,7 +161,7 @@ if ($classname_selected === null) { $wiz_data = []; foreach ($classes as $classpath) { if (is_reporting_console_node() === true) { - if ($classpath !== '/var/www/html/pandora_console/godmode/wizards/DiscoveryTaskList.class.php') { + if ($classpath !== $config['homedir'].'/godmode/wizards/DiscoveryTaskList.class.php') { continue; } } diff --git a/pandora_console/godmode/wizards/DiscoveryTaskList.class.php b/pandora_console/godmode/wizards/DiscoveryTaskList.class.php index 12e557de87..dd4110f7ff 100644 --- a/pandora_console/godmode/wizards/DiscoveryTaskList.class.php +++ b/pandora_console/godmode/wizards/DiscoveryTaskList.class.php @@ -129,6 +129,11 @@ class DiscoveryTaskList extends HTML } $delete_console_task = (bool) get_parameter('delete_console_task'); + $report_task = (bool) get_parameter('report_task', 0); + if ($report_task === true) { + $this->url = ui_get_full_url('index.php?sec=reporting&sec2=godmode/reporting/reporting_builder'); + } + if ($delete_console_task === true) { return $this->deleteConsoleTask(); } @@ -287,6 +292,10 @@ class DiscoveryTaskList extends HTML } $id_console_task = (int) get_parameter('id_console_task'); + $report_task = (bool) get_parameter('report_task', 0); + if ($report_task === true) { + $this->url = ui_get_full_url('index.php?sec=reporting&sec2=godmode/reporting/reporting_builder'); + } if ($id_console_task != null) { // -------------------------------- @@ -352,6 +361,10 @@ class DiscoveryTaskList extends HTML } $id_console_task = (int) get_parameter('id_console_task'); + $report_task = (bool) get_parameter('report_task', 0); + if ($report_task === true) { + $this->url = ui_get_full_url('index.php?sec=reporting&sec2=godmode/reporting/reporting_builder'); + } if ($id_console_task > 0) { $result = db_process_sql_update( diff --git a/pandora_console/images/report-task.svg b/pandora_console/images/report-task.svg new file mode 100644 index 0000000000..b16b7144da --- /dev/null +++ b/pandora_console/images/report-task.svg @@ -0,0 +1,8 @@ + + + Reportes programados@svg + + + + + \ No newline at end of file From 2a89a494cc98cc16ac51d5cd232e8bbb2eee444a Mon Sep 17 00:00:00 2001 From: Pablo Aragon Date: Mon, 24 Jul 2023 10:06:43 +0200 Subject: [PATCH 2/2] 10640-Report task. Resolve conflict --- pandora_console/godmode/reporting/reporting_builder.php | 5 ++++- pandora_console/godmode/wizards/DiscoveryTaskList.class.php | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pandora_console/godmode/reporting/reporting_builder.php b/pandora_console/godmode/reporting/reporting_builder.php index 10266290c7..00bc80f234 100755 --- a/pandora_console/godmode/reporting/reporting_builder.php +++ b/pandora_console/godmode/reporting/reporting_builder.php @@ -116,6 +116,7 @@ if (!$report_r && !$report_w && !$report_m) { } require_once $config['homedir'].'/include/functions_reports.php'; +require_once $config['homedir'].'/godmode/wizards/DiscoveryTaskList.class.php'; // Load enterprise extensions. enterprise_include('operation/reporting/custom_reporting.php'); @@ -1277,7 +1278,9 @@ switch ($action) { ); } - $report_task_data = enterprise_hook('tasklist_showListConsoleTask', [$object, true]); + $discovery_tasklist = new DiscoveryTaskList(); + $report_task_data = $discovery_tasklist->showListConsoleTask(true); + if (is_array($report_task_data) === true || strpos($report_task_data, 'class="nf"') === false) { $task_table = '
'; $task_table .= ''.__('Report tasks'); diff --git a/pandora_console/godmode/wizards/DiscoveryTaskList.class.php b/pandora_console/godmode/wizards/DiscoveryTaskList.class.php index 9f2eb408b3..0fefe0739e 100644 --- a/pandora_console/godmode/wizards/DiscoveryTaskList.class.php +++ b/pandora_console/godmode/wizards/DiscoveryTaskList.class.php @@ -1109,9 +1109,9 @@ class DiscoveryTaskList extends HTML * * @return boolean Success or not. */ - public function showListConsoleTask() + public function showListConsoleTask($report_task=false) { - return enterprise_hook('tasklist_showListConsoleTask', [$this]); + return enterprise_hook('tasklist_showListConsoleTask', [$this, $report_task]); }