fix in js
This commit is contained in:
parent
0cc4f51c95
commit
a0f21ac8e8
@ -95,6 +95,14 @@
|
||||
<p id="mass-firmware-timer">120 sekund</p>
|
||||
</div>
|
||||
|
||||
<!-- Dynamiczny prompt dla masowego restartu firmware -->
|
||||
<div id="mass-firmware-reboot-prompt" style="display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.7); z-index:1100; color:white; text-align:center; padding-top:200px;">
|
||||
<h3>Firmware update zakończony.</h3>
|
||||
<p>Czy chcesz zrestartować wszystkie wybrane urządzenia?</p>
|
||||
<button id="mass-firmware-reboot-btn" class="btn btn-danger">Restart urządzeń</button>
|
||||
<button id="mass-firmware-cancel-btn" class="btn btn-secondary ms-2">Anuluj</button>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// Funkcja "Select all" – zaznacza lub odznacza wszystkie checkboxy
|
||||
document.getElementById('select-all').addEventListener('change', function() {
|
||||
@ -114,14 +122,14 @@
|
||||
return selected;
|
||||
}
|
||||
|
||||
// Funkcja masowej aktualizacji systemu
|
||||
// Masowa aktualizacja systemu
|
||||
document.getElementById('mass-system-update-btn').addEventListener('click', function() {
|
||||
var selectedDevices = getSelectedDeviceIds();
|
||||
if(selectedDevices.length === 0) {
|
||||
alert("Wybierz przynajmniej jedno urządzenie.");
|
||||
return;
|
||||
}
|
||||
// Dla każdego urządzenia wykonaj update systemu asynchronicznie
|
||||
// Wysyłamy update systemu dla każdego urządzenia asynchronicznie
|
||||
selectedDevices.forEach(function(id) {
|
||||
fetch("{{ url_for('update_device', device_id=0) }}".replace("0", id), { method: 'POST' })
|
||||
.catch(function(error){ console.error('Błąd aktualizacji systemu dla urządzenia ' + id, error); });
|
||||
@ -139,7 +147,7 @@
|
||||
timerDisplay.textContent = timeLeft + ' sekund';
|
||||
if(timeLeft <= 0){
|
||||
clearInterval(interval);
|
||||
// Po zakończeniu odliczania wykonaj force_check dla każdego wybranego urządzenia
|
||||
// Po zakończeniu odliczania, dla każdego urządzenia wykonaj force_check
|
||||
selectedDevices.forEach(function(id) {
|
||||
fetch("{{ url_for('force_check', device_id=0) }}".replace("0", id), { method: 'GET' })
|
||||
.catch(function(error){ console.error('Błąd force check dla urządzenia ' + id, error); });
|
||||
@ -149,20 +157,25 @@
|
||||
}, 1000);
|
||||
});
|
||||
|
||||
// Funkcja masowej aktualizacji firmware
|
||||
// Masowa aktualizacja firmware
|
||||
document.getElementById('mass-firmware-update-btn').addEventListener('click', function() {
|
||||
var selectedDevices = getSelectedDeviceIds();
|
||||
if(selectedDevices.length === 0) {
|
||||
alert("Wybierz przynajmniej jedno urządzenie.");
|
||||
return;
|
||||
}
|
||||
// Dla każdego urządzenia wykonaj update firmware asynchronicznie
|
||||
// Wysyłamy update firmware dla każdego urządzenia asynchronicznie
|
||||
selectedDevices.forEach(function(id) {
|
||||
fetch("{{ url_for('update_firmware', device_id=0) }}".replace("0", id), { method: 'POST' })
|
||||
.catch(function(error){ console.error('Błąd aktualizacji firmware dla urządzenia ' + id, error); });
|
||||
});
|
||||
// Zapytaj użytkownika, czy chce zrestartować urządzenia
|
||||
if(confirm("Firmware update zakończony. Czy chcesz teraz zrestartować wszystkie wybrane urządzenia?")) {
|
||||
// Zamiast confirm() wyświetlamy dynamiczny prompt
|
||||
var promptDiv = document.getElementById('mass-firmware-reboot-prompt');
|
||||
promptDiv.style.display = 'block';
|
||||
|
||||
// Obsługa przycisku restartu w prompt
|
||||
document.getElementById('mass-firmware-reboot-btn').addEventListener('click', function() {
|
||||
promptDiv.style.display = 'none';
|
||||
// Pokaż overlay z paskiem postępu dla reboot (2 minuty)
|
||||
var overlay = document.getElementById('mass-firmware-update-overlay');
|
||||
overlay.style.display = 'block';
|
||||
@ -176,7 +189,7 @@
|
||||
timerDisplay.textContent = timeLeft + ' sekund';
|
||||
if(timeLeft <= 0){
|
||||
clearInterval(interval);
|
||||
// Po zakończeniu 2 minut wykonaj force_check dla każdego wybranego urządzenia
|
||||
// Po zakończeniu odliczania, dla każdego urządzenia wykonaj force_check
|
||||
selectedDevices.forEach(function(id) {
|
||||
fetch("{{ url_for('force_check', device_id=0) }}".replace("0", id), { method: 'GET' })
|
||||
.catch(function(error){ console.error('Błąd force check dla urządzenia ' + id, error); });
|
||||
@ -184,9 +197,13 @@
|
||||
location.reload();
|
||||
}
|
||||
}, 1000);
|
||||
} else {
|
||||
});
|
||||
|
||||
// Obsługa przycisku anulowania restartu w prompt
|
||||
document.getElementById('mass-firmware-cancel-btn').addEventListener('click', function() {
|
||||
alert("Restart został anulowany. Pamiętaj, że firmware update wymaga rebootu.");
|
||||
}
|
||||
promptDiv.style.display = 'none';
|
||||
});
|
||||
});
|
||||
|
||||
// Obsługa standardowego przycisku "Odśwież wybrane"
|
||||
@ -197,14 +214,11 @@
|
||||
alert("Wybierz przynajmniej jedno urządzenie.");
|
||||
return;
|
||||
}
|
||||
// Dla każdego wybranego urządzenia wykonaj force_check
|
||||
selectedDevices.forEach(function(id) {
|
||||
fetch("{{ url_for('force_check', device_id=0) }}".replace("0", id), { method: 'GET' })
|
||||
.catch(function(error){ console.error('Błąd force check dla urządzenia ' + id, error); });
|
||||
});
|
||||
// Po krótkiej chwili przeładuj stronę
|
||||
setTimeout(function(){ location.reload(); }, 2000);
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user