new options in devices

This commit is contained in:
Mateusz Gruszczyński
2025-02-24 14:23:46 +01:00
parent 54b7d62e72
commit 977e969464
2 changed files with 95 additions and 49 deletions

24
app.py
View File

@@ -731,6 +731,30 @@ def anomalies():
anomalies = Anomaly.query.join(Device).filter(Device.user_id == current_user.id).order_by(Anomaly.timestamp.desc()).all()
return render_template('anomalies.html', anomalies=anomalies)
@app.route('/devices/update_selected', methods=['POST'])
@login_required
def update_selected_devices():
selected_ids = request.form.getlist('selected_devices')
if not selected_ids:
flash("Nie wybrano żadnych urządzeń.")
return redirect(url_for('devices'))
for device_id in selected_ids:
device = Device.query.get(device_id)
if device and device.user_id == current_user.id:
result, update_available, current_version, current_firmware = check_device_update(device)
device.last_log = result
device.last_check = datetime.utcnow()
device.update_required = update_available
device.current_version = current_version
device.current_firmware = current_firmware
db.session.commit()
# Dodaj log dla aktualizacji
log_entry = Log(message=result, device_id=device.id, user_id=device.user_id)
db.session.add(log_entry)
db.session.commit()
flash("Wybrane urządzenia zostały zaktualizowane.")
return redirect(url_for('devices'))
# Zamknięcie harmonogramu przy zatrzymaniu aplikacji
atexit.register(lambda: scheduler.shutdown())