2023-06-20 08:33:49 +02:00
|
|
|
<h2>Signalement différé des assiduités {{gr |safe}}</h2>
|
2023-06-30 14:38:56 +02:00
|
|
|
<div class="legende">
|
|
|
|
<h3>Explication de la saisie différée</h3>
|
|
|
|
<p>Si la colonne n'est pas valide elle sera affichée en rouge, passez votre curseur sur la colonne pour afficher
|
|
|
|
le message d'erreur</p>
|
|
|
|
<p>Sélectionner la date de début de la colonne mettra automatiquement la date de fin à la durée d'une séance
|
|
|
|
(préférence de département)</p>
|
2023-09-13 21:11:27 +02:00
|
|
|
<p>Modifier le module alors que des assiduités sont déjà enregistrées pour la période changera leur
|
|
|
|
module.</p>
|
2023-06-30 14:38:56 +02:00
|
|
|
<p>Il y a 4 boutons d'assiduités sur la colonne permettant de mettre l'assiduités à tous les étudiants</p>
|
|
|
|
<p>Le dernier des boutons retire l'assiduité.</p>
|
|
|
|
<p>Vous pouvez ajouter des colonnes en appuyant sur le bouton + </p>
|
|
|
|
<p>Vous pouvez supprimer une colonne en appuyant sur la croix qui se situe dans le coin haut droit de la colonne
|
|
|
|
</p>
|
|
|
|
</div>
|
2023-06-20 08:33:49 +02:00
|
|
|
<h3>{{sem | safe }}</h3>
|
|
|
|
|
|
|
|
{{diff | safe}}
|
|
|
|
|
2023-07-25 19:59:47 +02:00
|
|
|
<script>
|
|
|
|
const etudsDefDem = {{ defdem | safe }}
|
|
|
|
|
2023-09-04 14:27:48 +02:00
|
|
|
const timeMorning = "{{ timeMorning | safe}}";
|
|
|
|
const timeNoon = "{{ timeNoon | safe}}";
|
|
|
|
const timeEvening = "{{ timeEvening | safe}}";
|
|
|
|
|
|
|
|
const defaultDates = {{ defaultDates | safe }}
|
|
|
|
const nonWorkDays = [{{ nonworkdays| safe }}];
|
|
|
|
|
|
|
|
|
2023-07-25 19:59:47 +02:00
|
|
|
window.addEventListener('load', () => {
|
|
|
|
[...document.querySelectorAll('.tr[etudid]')].forEach((a) => {
|
|
|
|
try {
|
|
|
|
if (a.getAttribute("etudid") in etudsDefDem) {
|
|
|
|
defdem = etudsDefDem[a.getAttribute("etudid")] == "D" ? "dem" : "def";
|
|
|
|
a.classList.add(defdem);
|
|
|
|
}
|
|
|
|
} catch (_) { }
|
2023-09-04 14:27:48 +02:00
|
|
|
});
|
|
|
|
|
|
|
|
if (defaultDates != null) {
|
|
|
|
defaultDates.forEach((dateString) => {
|
|
|
|
|
|
|
|
d = moment(dateString).weekday();
|
|
|
|
|
|
|
|
if (verifyNonWorkDays(d, nonWorkDays)) return;
|
|
|
|
|
|
|
|
matin = `${dateString}T${timeMorning}`;
|
|
|
|
midi = `${dateString}T${timeNoon}`;
|
|
|
|
soir = `${dateString}T${timeEvening}`;
|
|
|
|
|
|
|
|
console.log(matin, midi, soir)
|
|
|
|
|
|
|
|
createColumn(matin, midi);
|
|
|
|
createColumn(midi, soir);
|
|
|
|
});
|
|
|
|
|
|
|
|
updateAllCol();
|
|
|
|
} else {
|
|
|
|
createColumn();
|
|
|
|
}
|
2023-07-25 19:59:47 +02:00
|
|
|
})
|
2023-09-04 14:27:48 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
2023-07-25 19:59:47 +02:00
|
|
|
</script>
|
|
|
|
|
2023-06-30 14:38:56 +02:00
|
|
|
|
|
|
|
|
2023-06-20 08:33:49 +02:00
|
|
|
{% include "assiduites/widgets/alert.j2" %}
|
|
|
|
{% include "assiduites/widgets/prompt.j2" %}
|
|
|
|
{% include "assiduites/widgets/conflict.j2" %}
|
|
|
|
{% include "assiduites/widgets/toast.j2" %}
|