diff --git a/app/routers/qualys.py b/app/routers/qualys.py index 4edb444..43f5f02 100644 --- a/app/routers/qualys.py +++ b/app/routers/qualys.py @@ -924,14 +924,39 @@ async def qualys_deploy_page(request: Request, db=Depends(get_db)): if s.get("last_checkin"): s["last_checkin"] = str(s["last_checkin"])[:19] + # Recupere les activation keys actives via API Qualys (force refresh) + from ..services.qualys_service import get_activation_keys + try: + api_keys = get_activation_keys(db, force_refresh=True) or [] + except Exception: + api_keys = [] + # Filtre les keys actives uniquement + active_keys = [k for k in api_keys if (k.get("status") or "").upper() == "ACTIVE"] + + # Activation par defaut : 1er active de l'API si dispo, sinon secret stocke + default_activation = active_keys[0]["key"] if active_keys else \ + (get_secret(db, "qualys_activation_id") or "") + + # Server URI deduit de l'URL Qualys (qualysapi.qualys.eu -> qagpublic.qg2) + qualys_url = get_secret(db, "qualys_url") or "" + server_uri = get_secret(db, "qualys_server_uri") + if not server_uri: + if "qg2" in qualys_url or "qualys.eu" in qualys_url: + server_uri = "https://qagpublic.qg2.apps.qualys.eu/CloudAgent/" + elif "qg3" in qualys_url: + server_uri = "https://qagpublic.qg3.apps.qualys.eu/CloudAgent/" + else: + server_uri = "https://qagpublic.qg2.apps.qualys.eu/CloudAgent/" + ctx = base_context(request, db, user) ctx.update({ "app_name": APP_NAME, "packages": packages, "servers": servers, - "activation_id": get_secret(db, "qualys_activation_id") or "081a9a12-ca97-4de1-828c-c6ad918ce77e", - "customer_id": get_secret(db, "qualys_customer_id") or "a2e3271b-c2a1-ec6b-8324-8f51948783d4", - "server_uri": get_secret(db, "qualys_server_uri") or "https://qagpublic.qg2.apps.qualys.eu/CloudAgent/", + "activation_id": default_activation, + "available_keys": active_keys, # pour le dropdown UI + "customer_id": get_secret(db, "qualys_customer_id") or "", + "server_uri": server_uri, "msg": request.query_params.get("msg", ""), }) return templates.TemplateResponse("qualys_deploy.html", ctx) diff --git a/app/templates/qualys_deploy.html b/app/templates/qualys_deploy.html index 9bf765a..6c85326 100644 --- a/app/templates/qualys_deploy.html +++ b/app/templates/qualys_deploy.html @@ -22,8 +22,17 @@

Configuration de l'agent

- + + {% if available_keys %} + + + {% else %} + {% endif %}