From 901367e49659c443d915d5adcb54453e013bbad2 Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Tue, 19 Nov 2024 13:31:54 +0100 Subject: [PATCH] Fix 2 errors in assiduites: err. check during excel import --- app/views/assiduites.py | 10 +++++++--- sco_version.py | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/views/assiduites.py b/app/views/assiduites.py index 8d89626fb..ddfbdc7ba 100644 --- a/app/views/assiduites.py +++ b/app/views/assiduites.py @@ -68,7 +68,7 @@ from app.models import ( Scolog, ) from app.scodoc.codes_cursus import UE_STANDARD - +from app.scodoc import safehtml from app.auth.models import User from app.models.assiduites import get_assiduites_justif, is_period_conflicting from app.tables.list_etuds import RowEtud, TableEtud @@ -79,7 +79,6 @@ from app.views import ScoData # --------------- from app.scodoc.sco_permissions import Permission -from app.scodoc import html_sco_header from app.scodoc import sco_moduleimpl from app.scodoc import sco_preferences from app.scodoc import sco_groups_view, sco_groups @@ -2559,6 +2558,8 @@ def _import_excel_assiduites_list( # On parcourt les lignes et on les traite erreurs: list[tuple[str, list]] = [] for num, ligne in enumerate(data): + if not ligne or len(ligne) < 5: + raise ScoValueError("Format de fichier tableau non reconnu") identifiant_etud = ligne[0] # etudid/nip/ine date_debut_str = ligne[1] # iso / fra / excel date_fin_str = ligne[2] # iso / fra / excel @@ -2569,7 +2570,10 @@ def _import_excel_assiduites_list( try: # On récupère l'étudiant etud: Identite = _find_etud(identifiant_etud, type_etud_identifiant) - + if not etud: + raise ScoValueError( + f"Étudiant ({safehtml.html_to_safe_html(identifiant_etud)}) non trouvé" + ) # On vérifie que l'étudiant appartient au semestre if formsemestre not in etud.get_formsemestres(): raise ScoValueError("Étudiant non inscrit dans le semestre") diff --git a/sco_version.py b/sco_version.py index 475bf643f..6aa3cea4a 100644 --- a/sco_version.py +++ b/sco_version.py @@ -3,7 +3,7 @@ "Infos sur version ScoDoc" -SCOVERSION = "9.7.44" +SCOVERSION = "9.7.45" SCONAME = "ScoDoc"