From d3726e6bdc0261a3ebdd3c50903d774258a87d08 Mon Sep 17 00:00:00 2001 From: ottorei Date: Tue, 19 Oct 2021 06:18:29 +0300 Subject: [PATCH] Update alertlog-widget to allow filtering by device group (#13380) * Add group filter to alertlog widget * Remove extra characters from settings * Apply fixes from StyleCI Co-authored-by: ottorei --- app/Http/Controllers/Widgets/AlertlogController.php | 1 + includes/html/table/alertlog.inc.php | 5 +++++ resources/views/widgets/alertlog.blade.php | 1 + resources/views/widgets/settings/alertlog.blade.php | 13 +++++++++++-- 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Widgets/AlertlogController.php b/app/Http/Controllers/Widgets/AlertlogController.php index ea67b5389b..181276e0fa 100644 --- a/app/Http/Controllers/Widgets/AlertlogController.php +++ b/app/Http/Controllers/Widgets/AlertlogController.php @@ -33,6 +33,7 @@ class AlertlogController extends WidgetController protected $defaults = [ 'title' => null, 'device_id' => '', + 'device_group' => null, 'state' => -1, 'min_severity' => null, 'hidenavigation' => 0, diff --git a/includes/html/table/alertlog.inc.php b/includes/html/table/alertlog.inc.php index b120b7d91d..05dc46f1fb 100644 --- a/includes/html/table/alertlog.inc.php +++ b/includes/html/table/alertlog.inc.php @@ -40,6 +40,11 @@ if (isset($vars['min_severity'])) { $where .= get_sql_filter_min_severity($vars['min_severity'], 'R'); } +if (is_numeric($vars['device_group'])) { + $where .= ' AND D.device_id IN (SELECT `device_id` FROM `device_group_device` WHERE `device_group_id` = ?)'; + $param[] = $vars['device_group']; +} + if (! Auth::user()->hasGlobalRead()) { $device_ids = Permissions::devicesForUser()->toArray() ?: [0]; $where .= ' AND `E`.`device_id` IN ' . dbGenPlaceholders(count($device_ids)); diff --git a/resources/views/widgets/alertlog.blade.php b/resources/views/widgets/alertlog.blade.php index 62c39e656c..9f8c58e85b 100644 --- a/resources/views/widgets/alertlog.blade.php +++ b/resources/views/widgets/alertlog.blade.php @@ -20,6 +20,7 @@ return { id: "alertlog", device_id: "", + device_group: "{{ $device_group }}", state: '{{ $state }}', min_severity: '{{ $min_severity }}', }; diff --git a/resources/views/widgets/settings/alertlog.blade.php b/resources/views/widgets/settings/alertlog.blade.php index a20b5ba5ef..923314ca42 100644 --- a/resources/views/widgets/settings/alertlog.blade.php +++ b/resources/views/widgets/settings/alertlog.blade.php @@ -6,7 +6,7 @@
- +
- +
+
+ + +
@@ -30,6 +38,7 @@ @section('javascript')