51 lines
1.9 KiB
Python
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')) |