diff --git a/app/templates/assiduites/pages/edit_assiduite_etud.j2 b/app/templates/assiduites/pages/edit_assiduite_etud.j2
index d80d58af1..beee768b5 100644
--- a/app/templates/assiduites/pages/edit_assiduite_etud.j2
+++ b/app/templates/assiduites/pages/edit_assiduite_etud.j2
@@ -56,7 +56,7 @@
Description:
- {% if objet.description != "" and objet.description is not None %}
+ {% if objet.description != "" and objet.description != None %}
{{objet.description}}
{% else %}
Pas de description
diff --git a/app/views/assiduites.py b/app/views/assiduites.py
index 8484e01d0..97696fcd1 100644
--- a/app/views/assiduites.py
+++ b/app/views/assiduites.py
@@ -234,9 +234,15 @@ def ajout_assiduite_etud() -> str | Response:
if formsemestre_id:
formsemestre = FormSemestre.get_formsemestre(formsemestre_id)
formsemestre = formsemestre if formsemestre in sems_etud else None
+ if formsemestre is None:
+ raise ScoValueError("Etudiant non inscrit dans ce semestre")
else:
- formsemestre = [sem for sem in sems_etud if sem.est_courant()]
+ formsemestre = list(
+ sorted(sems_etud, key=lambda x: x.est_courant(), reverse=True)
+ ) # Mets le semestre courant en premier et les autres dans l'ordre
formsemestre = formsemestre[0] if formsemestre else None
+ if formsemestre is None:
+ raise ScoValueError("Aucun semestre disponible pour cet étudiant")
# Gestion évaluations (appel à la page depuis les évaluations)
evaluation_id: int | None = request.args.get("evaluation_id")
@@ -540,7 +546,7 @@ def _record_assiduite_etud(
lien: str = url_for(
"assiduites.edit_assiduite_etud",
- assiuite_id=assi.assiduite_id,
+ assiduite_id=assi.assiduite_id,
scodoc_dept=g.scodoc_dept,
)
@@ -2245,7 +2251,7 @@ def edit_assiduite_etud(assiduite_id: int):
etud=etud,
sco=ScoData(etud, formsemestre=formsemestre),
form=form,
- readonly=True,
+ readonly=readonly,
objet=_preparer_objet("assiduite", assi),
title=f"Assiduité {etud.nom_short}",
)