From c983d0ae7f9df2bc0679935004e4e61a8342ce8f Mon Sep 17 00:00:00 2001
From: Emmanuel Viennet <emmanuel.viennet@gmail.com>
Date: Wed, 29 Jan 2025 21:57:07 +0100
Subject: [PATCH] Fix small bug in assiduite error handling

---
 app/api/tools.py | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/app/api/tools.py b/app/api/tools.py
index e1903f2d..a8deedc2 100644
--- a/app/api/tools.py
+++ b/app/api/tools.py
@@ -10,14 +10,14 @@ from flask_login import current_user
 from sqlalchemy import desc, or_
 
 from app import models
-from app.scodoc.sco_utils import json_error
 from app.models import Departement, Identite, Admission
+from app.scodoc.sco_exceptions import ScoValueError
 from app.scodoc.sco_permissions import Permission
 
 
 def get_etud(
     etudid: int | None = None, nip: str | None = None, ine: str | None = None
-) -> models.Identite:
+) -> models.Identite | None:
     """
     L'instance d'étudiant la plus récente en fonction de l'etudid,
     ou du code nip ou code ine.
@@ -33,21 +33,16 @@ def get_etud(
     if etudid is not None:
         try:
             etudid = int(etudid)
-        except ValueError:
-            return json_error(
-                404,
-                message="etudid invalide",
-            )
+        except ValueError as exc:
+            raise ScoValueError("etudid invalide") from exc
         query: Identite = Identite.query.filter_by(id=etudid)
     elif nip is not None:
         query = Identite.query.filter_by(code_nip=nip)
     elif ine is not None:
         query = Identite.query.filter_by(code_ine=ine)
     else:
-        return json_error(
-            404,
-            message="parametre manquant",
-        )
+        raise ScoValueError("parametre manquant")
+
     if None not in allowed_depts:
         # restreint aux départements autorisés:
         query = query.join(Departement).filter(
-- 
GitLab