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.
-
-
{{sem | safe }}
+
+
-{{diff | safe}}
+
+
Nouvelle période
+
+
+
-
-
Explication de la saisie différée
-
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
-
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)
-
Modifier le module alors que des informations d'assiduité sont déjà enregistrées pour la période changera leur
- module.
-
Il y a 4 boutons sur la colonne permettant d'enregistrer l'information pour tous les étudiants
-
Le dernier des boutons retire l'information présente.
-
Vous pouvez ajouter des colonnes en appuyant sur le bouton +
-
Vous pouvez supprimer une colonne en appuyant sur la croix qui se situe dans le coin haut droit de la colonne.
-
+
+
+
+
+
+
+
+
+
+
Actions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Période
+
+ {% for etud in etudiants %}
+
+
+ {{ etud.nomprenom }}
+
+ {% endfor %}
+
+
+
+
+
+
+{% include "assiduites/widgets/alert.j2" %}
{% endblock app_content %}
-
-
-{% block scripts %}
- {{ super() }}
-
-
-
-{% endblock scripts %}
diff --git a/app/templates/assiduites/pages/signal_assiduites_group.j2 b/app/templates/assiduites/pages/signal_assiduites_group.j2
index 341b624a..c3f43af4 100644
--- a/app/templates/assiduites/pages/signal_assiduites_group.j2
+++ b/app/templates/assiduites/pages/signal_assiduites_group.j2
@@ -30,8 +30,8 @@
const nonWorkDays = [{{ nonworkdays| safe }}];
const readOnly = {{ readonly }};
- window.forceModule = "{{ forcer_module }}"
- window.forceModule = window.forceModule == "True" ? true : false
+ window.forceModule = "{{ forcer_module }}" == "True"
+
const etudsDefDem = {{ defdem | safe }}
const select = document.getElementById("moduleimpl_select");
diff --git a/app/templates/assiduites/widgets/minitimeline.j2 b/app/templates/assiduites/widgets/minitimeline.j2
index dfe15fc7..8a6b4d11 100644
--- a/app/templates/assiduites/widgets/minitimeline.j2
+++ b/app/templates/assiduites/widgets/minitimeline.j2
@@ -85,66 +85,6 @@
return timeline;
}
- /**
- * Ajout de la visualisation des assiduités de la mini timeline
- * @param {HTMLElement} el l'élément survollé
- * @param {Assiduité} assiduite l'assiduité représentée par l'élément
- */
- function setupAssiduiteBubble(el, assiduite) {
-
- function formatDateModal(dateStr){
- const date = new Date(Date.removeUTC(dateStr));
- return date.format("DD/MM/Y HH:mm");
- }
-
- if (!assiduite) return;
-
- const bubble = document.createElement('div');
- bubble.className = "assiduite-bubble";
- bubble.classList.add(assiduite.etat.toLowerCase());
-
- const idDiv = document.createElement("div");
- idDiv.className = "assiduite-id";
- getModuleImpl(assiduite).then((modImpl) => {
- idDiv.textContent = `${modImpl}`;
- });
- bubble.appendChild(idDiv);
-
- const periodDivDeb = document.createElement("div");
- periodDivDeb.className = "assiduite-period";
- periodDivDeb.textContent = `${formatDateModal(assiduite.date_debut)}`;
- bubble.appendChild(periodDivDeb);
- const periodDivFin = document.createElement("div");
- periodDivFin.className = "assiduite-period";
- periodDivFin.textContent = `${formatDateModal(assiduite.date_fin)}`;
- bubble.appendChild(periodDivFin);
-
- const stateDiv = document.createElement("div");
- stateDiv.className = "assiduite-state";
- stateDiv.textContent = `État: ${assiduite.etat.capitalize()}`;
- bubble.appendChild(stateDiv);
-
- const motifDiv = document.createElement("div");
- stateDiv.className = "assiduite-why";
- const motif = ["", null, undefined].includes(assiduite.desc) ? "Pas de motif" : assiduite.desc.capitalize();
- stateDiv.textContent = `Motif: ${motif}`;
- bubble.appendChild(motifDiv);
-
- const userIdDiv = document.createElement("div");
- userIdDiv.className = "assiduite-user_id";
- userIdDiv.textContent = `saisie le ${formatDateModal(
- assiduite.entry_date,
- " à "
- )}`;
-
- if (assiduite.user_id != null) {
- userIdDiv.textContent += `\npar ${assiduite.user_nom_complet}`
- }
- bubble.appendChild(userIdDiv);
-
- el.appendChild(bubble);
- }
-
function setMiniTick(timelineDate, dayStart, dayDuration) {
const endDate = timelineDate.clone().startOf("day");
endDate.setHours(13, 0);
diff --git a/app/views/assiduites.py b/app/views/assiduites.py
index 4d89939f..d77729fc 100644
--- a/app/views/assiduites.py
+++ b/app/views/assiduites.py
@@ -1813,33 +1813,8 @@ def signal_assiduites_diff():
formsemestre_id: int = request.args.get("formsemestre_id", -1)
formsemestre: FormSemestre = FormSemestre.get_formsemestre(formsemestre_id)
- date: str = request.args.get("jour", datetime.date.today().isoformat())
- date_deb: str = request.args.get("date_deb")
- date_fin: str = request.args.get("date_fin")
- semaine: str = request.args.get("semaine")
-
- # Dans le cas où on donne une semaine plutot qu'un jour
- if semaine is not None:
- # On génère la semaine iso à partir de l'anne scolaire.
- semaine = (
- f"{scu.annee_scolaire()}-W{semaine}" if "W" not in semaine else semaine
- )
- # On met à jour les dates avec le date de debut et fin de semaine
- date_deb: datetime.date = datetime.datetime.strptime(
- semaine + "-1", "%Y-W%W-%w"
- )
- date_fin: datetime.date = date_deb + datetime.timedelta(days=6)
-
etudiants: list[Identite] = []
- # --- Vérification de la date ---
- real_date = scu.is_iso_formated(date, True).date()
-
- if real_date < formsemestre.date_debut:
- date = formsemestre.date_debut.isoformat()
- elif real_date > formsemestre.date_fin:
- date = formsemestre.date_fin.isoformat()
-
# Vérification des groupes
if group_ids is None:
group_ids = []
@@ -1875,26 +1850,16 @@ def signal_assiduites_diff():
return render_template(
"assiduites/pages/signal_assiduites_diff.j2",
- defaultDates=_get_days_between_dates(date_deb, date_fin),
- defdem=_get_etuds_dem_def(formsemestre),
- diff=_differee(
- etudiants=etudiants,
- moduleimpl_select=_module_selector(
- formsemestre, request.args.get("moduleimpl_id", None)
- ),
- date=date,
- periode={
- "deb": formsemestre.date_debut.isoformat(),
- "fin": formsemestre.date_fin.isoformat(),
- },
- ),
+ etudiants=etudiants,
+ moduleimpl_select=_module_selector(formsemestre=formsemestre),
gr=gr_tit,
nonworkdays=_non_work_days(),
sco=ScoData(formsemestre=formsemestre),
- sem=formsemestre.titre_num(),
- timeEvening=ScoDocSiteConfig.get("assi_afternoon_time", "18:00:00"),
- timeMorning=ScoDocSiteConfig.get("assi_morning_time", "08:00:00"),
- timeNoon=ScoDocSiteConfig.get("assi_lunch_time", "13:00:00"),
+ forcer_module=sco_preferences.get_preference(
+ "forcer_module",
+ formsemestre_id=formsemestre_id,
+ dept_id=g.scodoc_dept_id,
+ ),
)