Files
Pivot/blueprints/nieuw_schooljaar_accounts_bp.py
2026-10-14 13:34:37 +02:00

51 lines
1.9 KiB
Python

from flask import Blueprint, render_template, request, session, redirect, url_for, flash
from services.google_service import GoogleAdminService
from blueprints.auth import login_required
from rechten import recht_vereist
from tenancy import per_school
account_verplaatsen_bp = Blueprint('accounts_verplaatsen', __name__)
google = per_school(GoogleAdminService)
@account_verplaatsen_bp.route('/beheer/verplaatsen', methods=['GET', 'POST'])
@login_required
@recht_vereist('nieuw_schooljaar')
def accounts_verplaatsen():
if request.method == 'POST':
huidige_ou = request.form.get('huidige_ou')
nieuwe_ou = request.form.get('nieuwe_ou')
move_type = request.form.get('move_type') # 'current' of 'all'
# Als move_type 'current' is, zou je hier je database/Informat lijst ophalen
enrolled_list = []
if move_type == 'current':
# Voorbeeld: enrolled_list = db.get_active_students_emails()
pass
only_enrolled = (move_type == 'current')
success, message = google.move_users_ou(
huidige_ou,
nieuwe_ou,
only_enrolled=only_enrolled,
enrolled_emails=enrolled_list
)
flash(message)
return redirect(url_for('accounts_verplaatsen.accounts_verplaatsen'))
# Voor de GET: vul de dropdowns
org_units = google.list_org_units()
return render_template('nieuw_schooljaar_accounts.html', ous=org_units)
@account_verplaatsen_bp.route('/beheer/archiveren-inactief', methods=['POST'])
@login_required
@recht_vereist('nieuw_schooljaar')
def archiveren_inactief():
source_ou = request.form.get('bron_ou')
days_inactive = int(request.form.get('inactief_periode'))
success, message = google.archive_inactive_users(source_ou, days_inactive)
flash(message, "success" if success else "danger")
return redirect(url_for('accounts_verplaatsen.accounts_verplaatsen'))