Fix: qualys/agents - convert rows to dicts pour compatibilite Jinja2 map/attribute

This commit is contained in:
Pierre & Lumière 2026-04-11 21:07:44 +02:00
parent 3964dd2c89
commit b7b0965722

View File

@ -484,7 +484,7 @@ async def qualys_agents_page(request: Request, db=Depends(get_db)):
summary = {"statuses": [], "versions": [], "total_assets": 0, "active": 0, "inactive": 0} summary = {"statuses": [], "versions": [], "total_assets": 0, "active": 0, "inactive": 0}
# Serveurs en prod sans agent Qualys # Serveurs en prod sans agent Qualys
no_agent = db.execute(text(""" no_agent_rows = db.execute(text("""
SELECT s.hostname, s.os_family, s.etat, d.name as domain, e.name as env, z.name as zone SELECT s.hostname, s.os_family, s.etat, d.name as domain, e.name as env, z.name as zone
FROM servers s FROM servers s
LEFT JOIN domain_environments de ON s.domain_env_id = de.id LEFT JOIN domain_environments de ON s.domain_env_id = de.id
@ -494,15 +494,19 @@ async def qualys_agents_page(request: Request, db=Depends(get_db)):
WHERE NOT EXISTS (SELECT 1 FROM qualys_assets qa WHERE LOWER(qa.hostname) = LOWER(s.hostname)) WHERE NOT EXISTS (SELECT 1 FROM qualys_assets qa WHERE LOWER(qa.hostname) = LOWER(s.hostname))
ORDER BY s.hostname ORDER BY s.hostname
""")).fetchall() """)).fetchall()
no_agent = [{"hostname": r.hostname, "os_family": r.os_family, "etat": r.etat,
"domain": r.domain or "", "env": r.env or "", "zone": r.zone or ""} for r in no_agent_rows]
# Agents inactifs # Agents inactifs
inactive = db.execute(text(""" inactive_rows = db.execute(text("""
SELECT qa.hostname, qa.os, qa.agent_version, qa.last_checkin, s.etat SELECT qa.hostname, qa.os, qa.agent_version, qa.last_checkin, s.etat
FROM qualys_assets qa FROM qualys_assets qa
LEFT JOIN servers s ON qa.server_id = s.id LEFT JOIN servers s ON qa.server_id = s.id
WHERE qa.agent_status ILIKE '%inactive%' WHERE qa.agent_status ILIKE '%inactive%'
ORDER BY qa.hostname ORDER BY qa.hostname
""")).fetchall() """)).fetchall()
inactive = [{"hostname": r.hostname, "os": r.os, "agent_version": r.agent_version,
"last_checkin": r.last_checkin, "etat": r.etat or ""} for r in inactive_rows]
ctx = base_context(request, db, user) ctx = base_context(request, db, user)
ctx.update({ ctx.update({