diff --git a/docker/routlin-dash/app/config_utils.py b/docker/routlin-dash/app/config_utils.py index 2abf8ca..cee5af8 100644 --- a/docker/routlin-dash/app/config_utils.py +++ b/docker/routlin-dash/app/config_utils.py @@ -707,6 +707,11 @@ def config_datasource(name): if name == 'blocklists': db_counts = _bl_db_counts() + used_by = {} + for v in vlans: + vlan_name = v.get('name', '') + for bl_name in v.get('use_blocklists', []): + used_by.setdefault(bl_name, []).append(vlan_name) rows = [] for bl in cfg.get('dns_blocking', {}).get('blocklists', []): row = dict(bl) @@ -725,6 +730,8 @@ def config_datasource(name): else: row['local_entries'] = '' row['source_display'] = row.get('url', '') + vlan_names = used_by.get(bl.get('name', ''), []) + row['used_by'] = json.dumps([{'n': n, 'd': n} for n in vlan_names]) rows.append(row) return rows diff --git a/docker/routlin-dash/app/pages/dnsblocking/content.json b/docker/routlin-dash/app/pages/dnsblocking/content.json index e5b6724..e32c52a 100644 --- a/docker/routlin-dash/app/pages/dnsblocking/content.json +++ b/docker/routlin-dash/app/pages/dnsblocking/content.json @@ -36,6 +36,11 @@ "label": "Source", "field": "source_display", "class": "col-mono" + }, + { + "label": "Used By", + "field": "used_by", + "render": "tag_list" } ], "row_actions": [