From 20f0231d4718bea0561c5e0941ee3fa0d60f238a Mon Sep 17 00:00:00 2001
From: Samuel Roberts <sam.roberts@geant.org>
Date: Tue, 6 Feb 2024 15:59:49 +0000
Subject: [PATCH] only show services that have any ipv6 data to show

---
 brian_dashboard_manager/templating/helpers.py | 20 ++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/brian_dashboard_manager/templating/helpers.py b/brian_dashboard_manager/templating/helpers.py
index 96e2c43..6426eb7 100644
--- a/brian_dashboard_manager/templating/helpers.py
+++ b/brian_dashboard_manager/templating/helpers.py
@@ -231,11 +231,20 @@ def get_nren_interface_data(services, interfaces, excluded_dashboards):
                 # MDVPN type services don't have data in BRIAN
                 continue
 
+            has_v6_interface = False
+            for interface in _interfaces:
+                if 'addresses' in interface:
+                    for address in interface['addresses']:
+                        if address.find(':') > 0:
+                            has_v6_interface = True
+                            break
+
             dashboard['SERVICES'].append({
                 'measurement': measurement,
                 'title': title,
                 'scid': scid,
-                'sort': (sid[:2], name)
+                'sort': (sid[:2], name),
+                'has_v6': has_v6_interface
             })
 
     def _check_in_aggregate(router, interface):
@@ -518,11 +527,12 @@ def default_interface_panel_generator(gridPos, ipv6_only=False):
         for panel in panels:
             if ipv6_only:
                 if panel.get('has_v6', False):
+                    result.append(get_panel_fields({
+                        **panel,
+                        **next(gridPos)
+                    }, 'IPv6', datasource))
+                else:
                     continue
-                result.append(get_panel_fields({
-                    **panel,
-                    **next(gridPos)
-                }, 'IPv6', datasource))
             else:
                 result.append(get_panel_fields({
                     **panel,
-- 
GitLab