Audit exclusion: match par nom ET code (form UI envoie l'un ou l'autre)
This commit is contained in:
parent
1cc8d42e4a
commit
48efb07b49
@ -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
|
# 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)
|
# et accepte les serveurs sans domaine attribue (ne pas penaliser le NULL)
|
||||||
if exclude_domains:
|
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(
|
where.append(
|
||||||
"COALESCE(s.domaine, d.name, d.code) IS NOT NULL "
|
"(s.domaine IS NOT NULL OR d.name IS NOT NULL) "
|
||||||
"AND COALESCE(s.domaine, d.name, d.code) NOT IN :ed"
|
"AND COALESCE(s.domaine, d.name) NOT IN :ed "
|
||||||
|
"AND COALESCE(d.code, '') NOT IN :ed"
|
||||||
)
|
)
|
||||||
params["ed"] = tuple(exclude_domains)
|
params["ed"] = tuple(exclude_domains)
|
||||||
if exclude_zones:
|
if exclude_zones:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user