diff --git a/app.py b/app.py index 2f6cd07..fb90ddd 100644 --- a/app.py +++ b/app.py @@ -160,6 +160,16 @@ def index(): last_check = db.get_state('last_check', 'Never') snapshot = json.loads(snapshot_raw) if snapshot_raw else {} suppressions = db.get_active_suppressions() + for ev in events: + sup_type = ( + 'unifi_device' if ev.get('event_type') == 'unifi_device_offline' + else 'interface' if ev.get('event_type') == 'interface_down' + else 'host' + ) + ev['is_suppressed'] = db.check_suppressed( + suppressions, sup_type, + ev.get('target_name', ''), ev.get('target_detail', '') or '', + ) recent_resolved = db.get_recent_resolved(hours=24, limit=10) return render_template( 'index.html', @@ -214,6 +224,17 @@ def suppressions_page(): @require_auth def api_status(): active = db.get_active_events(limit=_PAGE_LIMIT) + suppressions = db.get_active_suppressions() + for ev in active: + sup_type = ( + 'unifi_device' if ev.get('event_type') == 'unifi_device_offline' + else 'interface' if ev.get('event_type') == 'interface_down' + else 'host' + ) + ev['is_suppressed'] = db.check_suppressed( + suppressions, sup_type, + ev.get('target_name', ''), ev.get('target_detail', '') or '', + ) last_check = db.get_state('last_check', 'Never') return jsonify({ 'summary': db.get_status_summary(), diff --git a/static/app.js b/static/app.js index c077aef..82c2010 100644 --- a/static/app.js +++ b/static/app.js @@ -222,9 +222,12 @@ function updateEventsTable(events, totalActive) { ? `#${e.ticket_id}` : '–'; + const supBadge = e.is_suppressed + ? `🔕 sup` + : ''; return ` -