From c4d085c24c363be3d8efda7a777fd8c2cd1dd3bd Mon Sep 17 00:00:00 2001 From: Daniel Barbero Date: Mon, 1 Aug 2022 13:46:11 +0200 Subject: [PATCH] fixed error dashboards pandora_enterprise#9229 --- .../lib/Dashboard/Widgets/events_list.php | 12 +++++ .../lib/Dashboard/Widgets/network_map.php | 51 ++++++++++++++++--- 2 files changed, 56 insertions(+), 7 deletions(-) diff --git a/pandora_console/include/lib/Dashboard/Widgets/events_list.php b/pandora_console/include/lib/Dashboard/Widgets/events_list.php index 5392b36f3d..2dc1d57426 100644 --- a/pandora_console/include/lib/Dashboard/Widgets/events_list.php +++ b/pandora_console/include/lib/Dashboard/Widgets/events_list.php @@ -553,6 +553,18 @@ class EventsListWidget extends Widget ); $filter['module_search'] = $name[0]['nombre']; } + } else if (empty($this->values['customFilter']) === false + && (int) $this->values['customFilter'] !== -1 + ) { + $output = '
'; + $output .= \ui_print_error_message( + __('Widget cannot be loaded').'. '.__('Please, event filter has been removed.'), + '', + true + ); + $output .= '
'; + echo $output; + return; } else { // Filtering. $filter['event_view_hr'] = $this->values['maxHours']; diff --git a/pandora_console/include/lib/Dashboard/Widgets/network_map.php b/pandora_console/include/lib/Dashboard/Widgets/network_map.php index f295a1cb7c..32de5683a9 100644 --- a/pandora_console/include/lib/Dashboard/Widgets/network_map.php +++ b/pandora_console/include/lib/Dashboard/Widgets/network_map.php @@ -29,6 +29,7 @@ namespace PandoraFMS\Dashboard; use PandoraFMS\Dashboard\Manager; +use PandoraFMS\Enterprise\Metaconsole\Node; /** * Network map Widgets. @@ -180,6 +181,42 @@ class NetworkMapWidget extends Widget $this->configurationRequired = false; if (empty($this->values['networkmapId']) === true) { $this->configurationRequired = true; + } else { + try { + if (is_metaconsole() === true + && $this->values['node'] > 0 + ) { + $node = new Node($this->values['node']); + $node->connect(); + } + + // Reports. + $check_exist = db_get_value( + 'id', + 'tmap', + 'id', + $this->values['networkmapId'] + ); + } catch (\Exception $e) { + // Unexistent agent. + if (is_metaconsole() === true + && $this->values['node'] > 0 + ) { + $node->disconnect(); + } + + $check_exist = false; + } finally { + if (is_metaconsole() === true + && $this->values['node'] > 0 + ) { + $node->disconnect(); + } + } + + if ($check_exist === false) { + $this->loadError = true; + } } $this->overflow_scrollbars = false; @@ -312,8 +349,6 @@ class NetworkMapWidget extends Widget $values['networkmapId'] ); - $fields[$selected] = $selected_networkmap; - if ((bool) is_metaconsole() === true) { metaconsole_restore_db(); } @@ -322,11 +357,13 @@ class NetworkMapWidget extends Widget $inputs[] = [ 'label' => __('Map'), 'arguments' => [ - 'type' => 'select', - 'fields' => $fields, - 'name' => 'networkmapId', - 'selected' => $selected, - 'return' => true, + 'type' => 'select', + 'fields' => $fields, + 'name' => 'networkmapId', + 'selected' => $selected, + 'return' => true, + 'nothing' => __('None'), + 'nothing_value' => 0, ], ];