PIVOT 1.1.0
This commit is contained in:
commit
8a53234eb6
161 files changed
+31109
No files matched your search
@@ -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 %}
|
||||
Reference in new issue
Block a user