{# - TODO : revoir le fonctionnement de cette page (trop lente / complexe) - Utiliser majoritairement du python #} {% extends "sco_page.j2" %} {% block styles %} {{ super() }} <link rel="stylesheet" href="{{scu.STATIC_DIR}}/css/assiduites.css"> {% endblock styles %} {% block title %} {{title}} {% endblock title %} {% block app_content %} {% include "assiduites/widgets/alert.j2" %} {% include "assiduites/widgets/prompt.j2" %} {% include "assiduites/widgets/conflict.j2" %} {% include "assiduites/widgets/toast.j2" %} <script src="{{scu.STATIC_DIR}}/js/date_utils.js"></script> <h2>Signalement différé de l'assiduité {{gr |safe}}</h2> <div class="ue_warning">Attention, cette page utilise des couleurs et conventions différentes de celles des autres pages ScoDoc: elle sera prochainement modifée, merci de votre patience. </div> <h3>{{sem | safe }}</h3> {{diff | safe}} <div class="help"> <h3>Explication de la saisie différée</h3> <p>Si la colonne n'est pas valide elle sera affichée en rouge, passez le 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> <p>Modifier le module alors que des informations d'assiduité sont déjà enregistrées pour la période changera leur module.</p> <p>Il y a 4 boutons sur la colonne permettant d'enregistrer l'information pour tous les étudiants</p> <p>Le dernier des boutons retire l'information présente.</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> {% endblock app_content %} {% block scripts %} {{ super() }} <script src="{{scu.STATIC_DIR}}/js/etud_info.js"></script> <script src="{{scu.STATIC_DIR}}/js/assiduites.js"></script> <script> const etudsDefDem = {{ defdem | safe }} const timeMorning = "{{ timeMorning | safe}}"; const timeNoon = "{{ timeNoon | safe}}"; const timeEvening = "{{ timeEvening | safe}}"; const defaultDates = {{ defaultDates | safe }} const nonWorkDays = [{{ nonworkdays| safe }}]; 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 (_) { } }); if (defaultDates != null) { defaultDates.forEach((dateString) => { d = new Date(dateString); if (isNonWorkDay(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(); } }) </script> {% endblock scripts %}