fix in js
This commit is contained in:
parent
0cc4f51c95
commit
a0f21ac8e8
@ -95,6 +95,14 @@
|
|||||||
<p id="mass-firmware-timer">120 sekund</p>
|
<p id="mass-firmware-timer">120 sekund</p>
|
||||||
</div>
|
</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>
|
<script>
|
||||||
// Funkcja "Select all" – zaznacza lub odznacza wszystkie checkboxy
|
// Funkcja "Select all" – zaznacza lub odznacza wszystkie checkboxy
|
||||||
document.getElementById('select-all').addEventListener('change', function() {
|
document.getElementById('select-all').addEventListener('change', function() {
|
||||||
@ -114,14 +122,14 @@
|
|||||||
return selected;
|
return selected;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Funkcja masowej aktualizacji systemu
|
// Masowa aktualizacja systemu
|
||||||
document.getElementById('mass-system-update-btn').addEventListener('click', function() {
|
document.getElementById('mass-system-update-btn').addEventListener('click', function() {
|
||||||
var selectedDevices = getSelectedDeviceIds();
|
var selectedDevices = getSelectedDeviceIds();
|
||||||
if(selectedDevices.length === 0) {
|
if(selectedDevices.length === 0) {
|
||||||
alert("Wybierz przynajmniej jedno urządzenie.");
|
alert("Wybierz przynajmniej jedno urządzenie.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Dla każdego urządzenia wykonaj update systemu asynchronicznie
|
// Wysyłamy update systemu dla każdego urządzenia asynchronicznie
|
||||||
selectedDevices.forEach(function(id) {
|
selectedDevices.forEach(function(id) {
|
||||||
fetch("{{ url_for('update_device', device_id=0) }}".replace("0", id), { method: 'POST' })
|
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); });
|
.catch(function(error){ console.error('Błąd aktualizacji systemu dla urządzenia ' + id, error); });
|
||||||
@ -139,7 +147,7 @@
|
|||||||
timerDisplay.textContent = timeLeft + ' sekund';
|
timerDisplay.textContent = timeLeft + ' sekund';
|
||||||
if(timeLeft <= 0){
|
if(timeLeft <= 0){
|
||||||
clearInterval(interval);
|
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) {
|
selectedDevices.forEach(function(id) {
|
||||||
fetch("{{ url_for('force_check', device_id=0) }}".replace("0", id), { method: 'GET' })
|
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); });
|
.catch(function(error){ console.error('Błąd force check dla urządzenia ' + id, error); });
|
||||||
@ -149,20 +157,25 @@
|
|||||||
}, 1000);
|
}, 1000);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Funkcja masowej aktualizacji firmware
|
// Masowa aktualizacja firmware
|
||||||
document.getElementById('mass-firmware-update-btn').addEventListener('click', function() {
|
document.getElementById('mass-firmware-update-btn').addEventListener('click', function() {
|
||||||
var selectedDevices = getSelectedDeviceIds();
|
var selectedDevices = getSelectedDeviceIds();
|
||||||
if(selectedDevices.length === 0) {
|
if(selectedDevices.length === 0) {
|
||||||
alert("Wybierz przynajmniej jedno urządzenie.");
|
alert("Wybierz przynajmniej jedno urządzenie.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Dla każdego urządzenia wykonaj update firmware asynchronicznie
|
// Wysyłamy update firmware dla każdego urządzenia asynchronicznie
|
||||||
selectedDevices.forEach(function(id) {
|
selectedDevices.forEach(function(id) {
|
||||||
fetch("{{ url_for('update_firmware', device_id=0) }}".replace("0", id), { method: 'POST' })
|
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); });
|
.catch(function(error){ console.error('Błąd aktualizacji firmware dla urządzenia ' + id, error); });
|
||||||
});
|
});
|
||||||
// Zapytaj użytkownika, czy chce zrestartować urządzenia
|
// Zamiast confirm() wyświetlamy dynamiczny prompt
|
||||||
if(confirm("Firmware update zakończony. Czy chcesz teraz zrestartować wszystkie wybrane urządzenia?")) {
|
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)
|
// Pokaż overlay z paskiem postępu dla reboot (2 minuty)
|
||||||
var overlay = document.getElementById('mass-firmware-update-overlay');
|
var overlay = document.getElementById('mass-firmware-update-overlay');
|
||||||
overlay.style.display = 'block';
|
overlay.style.display = 'block';
|
||||||
@ -176,7 +189,7 @@
|
|||||||
timerDisplay.textContent = timeLeft + ' sekund';
|
timerDisplay.textContent = timeLeft + ' sekund';
|
||||||
if(timeLeft <= 0){
|
if(timeLeft <= 0){
|
||||||
clearInterval(interval);
|
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) {
|
selectedDevices.forEach(function(id) {
|
||||||
fetch("{{ url_for('force_check', device_id=0) }}".replace("0", id), { method: 'GET' })
|
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); });
|
.catch(function(error){ console.error('Błąd force check dla urządzenia ' + id, error); });
|
||||||
@ -184,9 +197,13 @@
|
|||||||
location.reload();
|
location.reload();
|
||||||
}
|
}
|
||||||
}, 1000);
|
}, 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.");
|
alert("Restart został anulowany. Pamiętaj, że firmware update wymaga rebootu.");
|
||||||
}
|
promptDiv.style.display = 'none';
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// Obsługa standardowego przycisku "Odśwież wybrane"
|
// Obsługa standardowego przycisku "Odśwież wybrane"
|
||||||
@ -197,14 +214,11 @@
|
|||||||
alert("Wybierz przynajmniej jedno urządzenie.");
|
alert("Wybierz przynajmniej jedno urządzenie.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Dla każdego wybranego urządzenia wykonaj force_check
|
|
||||||
selectedDevices.forEach(function(id) {
|
selectedDevices.forEach(function(id) {
|
||||||
fetch("{{ url_for('force_check', device_id=0) }}".replace("0", id), { method: 'GET' })
|
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); });
|
.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);
|
setTimeout(function(){ location.reload(); }, 2000);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user