Qualys tags resync: message clair si busy + erreur API detaillee

This commit is contained in:
Pierre & Lumière 2026-04-15 12:35:34 +02:00
parent a62f9a4146
commit 1dc7560f44
2 changed files with 11 additions and 2 deletions

View File

@ -171,8 +171,17 @@ async def qualys_tags_resync(request: Request, db=Depends(get_db)):
perms = get_user_perms(db, user) perms = get_user_perms(db, user)
if not can_edit(perms, "qualys"): if not can_edit(perms, "qualys"):
return RedirectResponse(url="/qualys/tags") return RedirectResponse(url="/qualys/tags")
# Bloque si une sync agents tourne deja (meme API Qualys)
from ..services.qualys_service import is_refresh_running
if is_refresh_running():
return RedirectResponse(url="/qualys/tags?msg=busy", status_code=303)
result = resync_all_tags(db) result = resync_all_tags(db)
msg = "resync_ok" if result["ok"] else "resync_ko" if result.get("ok"):
msg = "resync_ok"
else:
# Encode le message d'erreur reel pour affichage
err = (result.get("msg") or "Erreur API Qualys").replace(" ", "+")[:120]
msg = f"resync_ko_{err}"
return RedirectResponse(url=f"/qualys/tags?msg={msg}", status_code=303) return RedirectResponse(url=f"/qualys/tags?msg={msg}", status_code=303)

View File

@ -15,7 +15,7 @@
{% if msg %} {% if msg %}
<div class="mb-3 p-2 rounded text-sm {% if 'error' in msg or 'ko' in msg %}bg-red-900/30 text-cyber-red{% else %}bg-green-900/30 text-cyber-green{% endif %}"> <div class="mb-3 p-2 rounded text-sm {% if 'error' in msg or 'ko' in msg %}bg-red-900/30 text-cyber-red{% else %}bg-green-900/30 text-cyber-green{% endif %}">
{% if msg == 'resync_ok' %}Tags resynchronisés depuis l'API Qualys.{% elif msg == 'resync_ko' %}Erreur de synchronisation.{% elif msg == 'created' %}Tag créé.{% elif msg == 'create_error' %}Erreur création.{% elif msg == 'deleted' %}Tag supprimé.{% elif msg == 'delete_error' %}Erreur suppression.{% endif %} {% if msg == 'resync_ok' %}Tags resynchronisés depuis l'API Qualys.{% elif msg == 'busy' %}⏳ Une synchronisation Qualys est déjà en cours (agents). Patiente quelques minutes puis réessaie.{% elif msg and msg.startswith('resync_ko') %}Erreur de synchronisation : {{ msg[10:].replace('+', ' ') if msg|length > 10 else 'API Qualys indisponible' }}{% elif msg == 'created' %}Tag créé.{% elif msg == 'create_error' %}Erreur création.{% elif msg == 'deleted' %}Tag supprimé.{% elif msg == 'delete_error' %}Erreur suppression.{% endif %}
</div> </div>
{% endif %} {% endif %}