Geräte: SSH-Zugangsdaten mit Kategorien, PoE-Neustart nur wenn möglich
- credentials: neue Spalte 'category' (Switch/Linux-Client/ Windows-Client/Router), Grundlage für die geplante SSH-basierte Wartungsfunktion (Bulk-Updates); Löschschutz prüft jetzt zusätzlich devices.credential_id, nicht mehr nur switches.credential_id - devices: optionale SSH-Zugangsdaten + SSH-Port je Gerät, inkl. "Verbindung testen"-Terminal wie bei Switches - Dashboard: PoE-Neustart-Button wird für Geräte ohne zugewiesenen Switch/Port komplett ausgeblendet (nicht nur ausgegraut), da für diese kein PoE-Reset über poe.sh möglich ist; Button bleibt ausschließlich für den PoE-Neustart über den Switch zuständig - Schließen-Button im Geräte-Modal immer rechts, unabhängig davon welche Aktions-Buttons gerade sichtbar sind - "Port" im Geräte-Formular zu "Switchport" umbenannt und von "SSH-Port" klar abgegrenzt (unterschiedliche Konzepte: physischer Switch-Port fürs PoE vs. TCP-Port für SSH) - .btn:disabled greift jetzt echtes Grau statt nur reduzierter Deckkraft der jeweiligen Button-Farbe Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -38,7 +38,6 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-close-modal>Schließen</button>
|
||||
{% if current_user.has_permission('devices.edit') %}
|
||||
<button type="button" class="btn btn-success" id="activateButton" style="display:none;">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12l5 5L20 7"/></svg>
|
||||
@@ -51,6 +50,11 @@
|
||||
Neustarten
|
||||
</button>
|
||||
{% endif %}
|
||||
<!-- Schließen bewusst als letztes Element im DOM: modal-footer nutzt
|
||||
justify-content:flex-end, damit landet der zuletzt gerenderte
|
||||
Button ganz rechts — Schließen soll unabhängig davon, welche
|
||||
Aktions-Buttons gerade sichtbar sind, immer rechts stehen. -->
|
||||
<button type="button" class="btn btn-secondary" data-close-modal>Schließen</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -136,7 +140,16 @@ document.addEventListener("DOMContentLoaded", () => {
|
||||
document.getElementById("deviceChecked").innerText = this.dataset.checked || "-";
|
||||
const pill = this.querySelector(".pill");
|
||||
document.getElementById("deviceStatus").innerText = pill ? pill.innerText.trim() : "-";
|
||||
if (restartButton) restartButton.style.display = isActive ? "" : "none";
|
||||
if (restartButton) {
|
||||
// Ohne zugewiesenen Switch + Port kann poe.sh keinen PoE-Reset
|
||||
// auslösen (siehe restart_device()/poe.sh) — der Button wird für
|
||||
// diese Geräte komplett ausgeblendet statt nur ausgegraut, damit
|
||||
// kein Neustart vorgegaukelt wird, der tatsächlich nichts bewirkt.
|
||||
const hasSwitchAndPort = this.dataset.switch !== "-" && this.dataset.port !== "-";
|
||||
restartButton.style.display = (isActive && hasSwitchAndPort) ? "" : "none";
|
||||
restartButton.disabled = false;
|
||||
restartButton.title = "";
|
||||
}
|
||||
if (activateButton) activateButton.style.display = isActive ? "none" : "";
|
||||
PoeUI.openModal("deviceModal");
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user