45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
from flask import Blueprint, render_template, request, session, redirect, url_for, flash
|
|
from blueprints.auth import login_required
|
|
from tenancy import huidige_school
|
|
|
|
tools_bp = Blueprint('tools', __name__)
|
|
|
|
|
|
def _staat():
|
|
"""Internetstatus en notitie: per school bijgehouden (in het geheugen)."""
|
|
return huidige_school().object('internet_status', lambda: {'status': 1, 'notitie': ''})
|
|
|
|
|
|
@tools_bp.route('/internet')
|
|
def internet_status():
|
|
"""Toont de huidige status van de internetverbinding."""
|
|
staat = _staat()
|
|
return render_template(
|
|
'internet_connection.html',
|
|
current_status=staat['status'],
|
|
current_note=staat['notitie'],
|
|
current_user=session.get('user')
|
|
)
|
|
|
|
|
|
@tools_bp.route('/toggle_internet', methods=['POST'])
|
|
def toggle_internet():
|
|
"""Wijzigt de status van de internetverbinding."""
|
|
new_status = request.form.get('new_status', type=int)
|
|
|
|
if new_status in [0, 1]:
|
|
_staat()['status'] = new_status
|
|
flash(f"Status gewijzigd naar {'Online' if new_status == 1 else 'Offline'}", "success")
|
|
else:
|
|
flash("Ongeldige statuswaarde.", "error")
|
|
|
|
return redirect(url_for('tools.internet_status'))
|
|
|
|
|
|
@tools_bp.route('/save_note', methods=['POST'])
|
|
def save_note():
|
|
"""Slaat de korte tekst op."""
|
|
_staat()['notitie'] = request.form.get('status_note', '')
|
|
flash("Notitie bijgewerkt!", "success")
|
|
return redirect(url_for('tools.internet_status'))
|