diff --git a/app/routers/audit.py b/app/routers/audit.py index 1a50a5c..f8e180b 100644 --- a/app/routers/audit.py +++ b/app/routers/audit.py @@ -139,10 +139,13 @@ async def audit_global(request: Request, db=Depends(get_db)): # Matche sur domaine plain-text (via d.name) ou via d.code legacy # et accepte les serveurs sans domaine attribue (ne pas penaliser le NULL) if exclude_domains: - # Compare sur domaine plain-text puis fallback jointure. NULL = exclu. + # Match par nom (servers.domaine / domains.name) ET par code (domains.code). + # Le form UI peut envoyer soit le name soit le code selon le template. + # NULL = exclu (serveur non tagge = pas auditable via UI). where.append( - "COALESCE(s.domaine, d.name, d.code) IS NOT NULL " - "AND COALESCE(s.domaine, d.name, d.code) NOT IN :ed" + "(s.domaine IS NOT NULL OR d.name IS NOT NULL) " + "AND COALESCE(s.domaine, d.name) NOT IN :ed " + "AND COALESCE(d.code, '') NOT IN :ed" ) params["ed"] = tuple(exclude_domains) if exclude_zones: