fix(servers/edit): timeout iTop reduit (3s connect / 10s read au lieu de 30s) + indicateur de chargement htmx visible (bouton change en 'Sauvegarde...' + message en bas du form)
This commit is contained in:
parent
e8f369817e
commit
4b2a4cb8f2
@ -24,7 +24,10 @@ class ITopClient:
|
||||
data={"json_data": json.dumps(data),
|
||||
"auth_user": self.user,
|
||||
"auth_pwd": self.password},
|
||||
verify=False, timeout=30)
|
||||
verify=False, timeout=(3, 10))
|
||||
# tuple (connect_timeout, read_timeout) :
|
||||
# 3s pour TCP-connect (échoue vite si iTop injoignable)
|
||||
# 10s pour la réponse une fois connecté
|
||||
return r.json()
|
||||
except Exception as e:
|
||||
log.error(f"iTop error: {e}")
|
||||
|
||||
@ -31,6 +31,9 @@
|
||||
.panel-slide { transition: transform 0.3s ease, opacity 0.3s ease; }
|
||||
.htmx-indicator { opacity: 0; transition: opacity 200ms; }
|
||||
.htmx-request .htmx-indicator { opacity: 1; }
|
||||
.htmx-only-request { display: none; }
|
||||
.htmx-request .htmx-no-request { display: none; }
|
||||
.htmx-request .htmx-only-request { display: inline; }
|
||||
.inline-edit { background: transparent; border: 1px solid transparent; padding: 2px 4px; }
|
||||
.inline-edit:hover { border-color: #1e3a5f; }
|
||||
.inline-edit:focus { background: #0a0e17; border-color: #00d4ff; }
|
||||
|
||||
@ -4,7 +4,10 @@
|
||||
<button onclick="closePanel()" class="text-gray-500 hover:text-white text-xl">×</button>
|
||||
</div>
|
||||
|
||||
<form hx-put="/servers/{{ s.id }}" hx-target="#detail-panel" hx-swap="innerHTML" class="space-y-3">
|
||||
<form hx-put="/servers/{{ s.id }}" hx-target="#detail-panel" hx-swap="innerHTML"
|
||||
hx-disabled-elt="find button[type=submit]"
|
||||
hx-indicator="#edit-indicator"
|
||||
class="space-y-3">
|
||||
|
||||
<!-- IPs + mode connexion -->
|
||||
<div class="grid grid-cols-2 gap-2">
|
||||
@ -103,9 +106,15 @@
|
||||
<textarea name="commentaire" rows="2" class="w-full">{{ s.commentaire or '' }}</textarea>
|
||||
</div>
|
||||
|
||||
<div class="flex gap-2 pt-2">
|
||||
<button type="submit" class="btn-primary px-4 py-2 text-sm flex-1">Sauvegarder</button>
|
||||
<div class="flex gap-2 pt-2 items-center">
|
||||
<button type="submit" class="btn-primary px-4 py-2 text-sm flex-1">
|
||||
<span class="htmx-no-request">Sauvegarder</span>
|
||||
<span class="htmx-only-request">⏳ Sauvegarde…</span>
|
||||
</button>
|
||||
<button type="button" class="btn-sm bg-cyber-border text-gray-300 px-4 py-2" hx-get="/servers/{{ s.id }}/detail" hx-target="#detail-panel" hx-swap="innerHTML">Annuler</button>
|
||||
</div>
|
||||
<div id="edit-indicator" class="htmx-indicator text-xs text-cyber-yellow pt-1">
|
||||
⏳ Sauvegarde en cours… (push iTop possible jusqu'à ~10s si réseau lent)
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user