Initial commit
This commit is contained in:
commit
536ff43ce4
158 files changed
+30355
No files matched your search
@@ -0,0 +1,66 @@
|
||||
"""Skore-synchronisatie in Smartschool: manueel starten, planning instellen en logboek bekijken."""
|
||||
from flask import Blueprint, render_template, request, redirect, url_for, flash, session
|
||||
|
||||
from blueprints.auth import login_required
|
||||
from rechten import recht_vereist
|
||||
import rechten
|
||||
from services import skore_service as skore
|
||||
|
||||
skore_bp = Blueprint('skore', __name__)
|
||||
|
||||
|
||||
@skore_bp.route('/', methods=['GET'])
|
||||
@login_required
|
||||
@recht_vereist('skore')
|
||||
def overzicht():
|
||||
try:
|
||||
p = skore.planning()
|
||||
log = skore.logboek()
|
||||
except Exception as e:
|
||||
flash(f"Kon de Skore-gegevens niet lezen: {e}", "error")
|
||||
p, log = None, []
|
||||
try:
|
||||
loopt = skore.bezig()
|
||||
except Exception:
|
||||
loopt = False
|
||||
return render_template('skore.html', planning=p, log=log, frequenties=skore.FREQUENTIES, loopt=loopt,
|
||||
weekdagen=skore.WEEKDAGEN, volgende=skore.volgende_moment(p) if p else None)
|
||||
|
||||
|
||||
@skore_bp.route('/start', methods=['POST'])
|
||||
@login_required
|
||||
@recht_vereist('skore')
|
||||
def start():
|
||||
rij = skore.start(session.get('user'), manier='manueel')
|
||||
rechten.log(actie="Skore-synchronisatie gestart")
|
||||
if rij['Status'] == 'mislukt':
|
||||
flash(rij['Melding'], "error")
|
||||
else:
|
||||
flash("Skore-synchronisatie gestart bij Smartschool. PIVOT volgt de status automatisch op; "
|
||||
"deze pagina ververst vanzelf tot ze klaar is.", "success")
|
||||
return redirect(url_for('skore.overzicht'))
|
||||
|
||||
|
||||
@skore_bp.route('/status/<int:log_id>', methods=['POST'])
|
||||
@login_required
|
||||
@recht_vereist('skore')
|
||||
def status(log_id):
|
||||
rij = skore.controleer(log_id)
|
||||
if rij:
|
||||
flash(f"Status: {rij['Status']}", "info")
|
||||
return redirect(url_for('skore.overzicht'))
|
||||
|
||||
|
||||
@skore_bp.route('/planning', methods=['POST'])
|
||||
@login_required
|
||||
@recht_vereist('skore')
|
||||
def planning():
|
||||
f = request.form
|
||||
try:
|
||||
skore.bewaar_planning(f.get('frequentie', 'uit'), f.get('uur', 6), f.get('minuut', 0),
|
||||
f.get('weekdag', 0), f.get('dag_van_maand', 1), session.get('user'))
|
||||
rechten.log(actie=f"Skore-planning: {f.get('frequentie')}")
|
||||
flash("Planning opgeslagen.", "success")
|
||||
except (ValueError, TypeError) as e:
|
||||
flash(str(e) or "Ongeldige planning.", "error")
|
||||
return redirect(url_for('skore.overzicht'))
|
||||
Reference in new issue
Block a user