Fix small bug in assiduite error handling

This commit is contained in:
Emmanuel Viennet 2025-01-29 21:57:07 +01:00
parent c7dc6934cc
commit c983d0ae7f

View File

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