Initial commit

This commit is contained in:
Kristof committed 2026-10-14 12:29:29 +02:00
commit 536ff43ce4
158 files changed
+30355

No files matched your search

+113
View File
@@ -0,0 +1,113 @@
{% extends "base.html" %}
{% block title %}Nieuw schooljaar – accounts{% endblock %}
{% block page_title %}Nieuw schooljaar – leerlingaccounts{% endblock %}
{% block main_class %}medium{% endblock %}
{% block loader_text %}Bezig met verwerken... Even geduld.{% endblock %}
{% block extra_css %}
<style>
.form-section { display: flex; flex-direction: column; gap: 22px; max-width: 640px; margin: 8px auto 0; }
.ou-selector-row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 12px; }
.ou-selector-row.single { grid-template-columns: 1fr; }
.ou-selector-row label { display: block; margin-bottom: 6px; }
.arrow { font-size: 22px; color: var(--text-muted); padding-bottom: 8px; }
.radio-group { display: flex; flex-direction: column; gap: 8px; }
.tab-intro { color: var(--text-muted); margin-bottom: 4px; }
@media (max-width: 640px) { .ou-selector-row { grid-template-columns: 1fr; } .arrow { transform: rotate(90deg); justify-self: center; } }
</style>
{% endblock %}
{% block content %}
<div class="tabs">
<button class="tab-link active" onclick="openTab(event, 'verplaatsen-tab')">➡️ Verplaatsen</button>
<button class="tab-link" onclick="openTab(event, 'archiveren-tab')">🗄️ Archiveren</button>
<button class="tab-link" onclick="openTab(event, 'archiveren-inactief-tab')">💤 Inactieven archiveren</button>
</div>
<section id="verplaatsen-tab" class="tab-content active">
<h2>Gebruikers van OU verplaatsen</h2>
<form class="form-section" method="POST" action="{{ url_for('accounts_verplaatsen.accounts_verplaatsen') }}" onsubmit="showLoader()">
<div class="ou-selector-row">
<div>
<label>Huidige OU</label>
<select name="huidige_ou" required>
<option value="" disabled selected>Kies huidige OU</option>
{% for ou in ous %}<option value="{{ ou.orgUnitPath }}">{{ ou.orgUnitPath }}</option>{% endfor %}
</select>
</div>
<span class="arrow">⟶</span>
<div>
<label>Nieuwe OU</label>
<select name="nieuwe_ou" required>
<option value="" disabled selected>Kies nieuwe OU</option>
{% for ou in ous %}<option value="{{ ou.orgUnitPath }}">{{ ou.orgUnitPath }}</option>{% endfor %}
</select>
</div>
</div>
<div class="radio-group">
<label class="check-box" style="margin:0"><input type="radio" name="move_type" value="current" checked> Enkel leerlingen die op dit moment ingeschreven zijn</label>
<label class="check-box" style="margin:0"><input type="radio" name="move_type" value="all"> Alle leerlingen in de huidige OU verplaatsen</label>
</div>
<div><button type="submit" class="btn-lg">Uitvoeren</button></div>
</form>
</section>
<section id="archiveren-tab" class="tab-content">
<h2>Gebruikers archiveren</h2>
<form class="form-section" method="POST" action="{{ url_for('accounts_verplaatsen.accounts_verplaatsen') }}" onsubmit="showLoader()">
<div class="ou-selector-row single">
<div>
<label>Bron-OU</label>
<select name="archief_ou" required>
<option value="" disabled selected>Selecteer bron-OU</option>
{% for ou in ous %}<option value="{{ ou.orgUnitPath }}">{{ ou.orgUnitPath }}</option>{% endfor %}
</select>
</div>
</div>
<div class="radio-group">
<label class="check-box" style="margin:0"><input type="radio" name="archive_type" value="not_enrolled" checked> Enkel leerlingen die op dit moment NIET ingeschreven zijn</label>
<label class="check-box" style="margin:0"><input type="radio" name="archive_type" value="all"> Alle leerlingen in de huidige OU archiveren</label>
</div>
<div><button type="submit" class="btn-lg">Archiveren</button></div>
</form>
</section>
<section id="archiveren-inactief-tab" class="tab-content">
<h2>Inactieve gebruikers archiveren</h2>
<p class="tab-intro">Gebruikers in de geselecteerde OU die langer dan de gekozen periode niet zijn ingelogd, worden gearchiveerd.</p>
<form class="form-section" method="POST" action="{{ url_for('accounts_verplaatsen.archiveren_inactief') }}" onsubmit="showLoader()">
<div class="ou-selector-row">
<div>
<label>Bron-OU</label>
<select name="bron_ou" required>
<option value="" disabled selected>Selecteer bron-OU</option>
{% for ou in ous %}<option value="{{ ou.orgUnitPath }}">{{ ou.orgUnitPath }}</option>{% endfor %}
</select>
</div>
<span></span>
<div>
<label for="inactief_periode">Niet aangemeld sinds</label>
<select name="inactief_periode" id="inactief_periode" required>
<option value="30">30 dagen</option>
<option value="180">6 maanden</option>
<option value="365">1 jaar</option>
</select>
</div>
</div>
<div><button type="submit" class="btn-lg">Accounts archiveren</button></div>
</form>
</section>
{% endblock %}
{% block scripts %}
<script>
function openTab(evt, tabName) {
document.querySelectorAll('.tab-content').forEach(t => { t.style.display = 'none'; t.classList.remove('active'); });
document.querySelectorAll('.tab-link').forEach(l => l.classList.remove('active'));
document.getElementById(tabName).style.display = 'block';
document.getElementById(tabName).classList.add('active');
evt.currentTarget.classList.add('active');
}
</script>
{% endblock %}