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'))