From d5a5c66390e4b70c0cbf0b6d720cb2eb1d86851a Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Mon, 30 Sep 2024 02:52:32 +0200 Subject: [PATCH] =?UTF-8?q?API:=20am=C3=A9liore=20message=20erreur=20si=20?= =?UTF-8?q?etudid=20invalide?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/tools.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/api/tools.py b/app/api/tools.py index 7ed1a44e..e1903f2d 100644 --- a/app/api/tools.py +++ b/app/api/tools.py @@ -15,7 +15,9 @@ from app.models import Departement, Identite, Admission from app.scodoc.sco_permissions import Permission -def get_etud(etudid=None, nip=None, ine=None) -> models.Identite: +def get_etud( + etudid: int | None = None, nip: str | None = None, ine: str | None = None +) -> models.Identite: """ L'instance d'étudiant la plus récente en fonction de l'etudid, ou du code nip ou code ine. @@ -29,6 +31,13 @@ def get_etud(etudid=None, nip=None, ine=None) -> models.Identite: allowed_depts = current_user.get_depts_with_permission(Permission.ScoView) if etudid is not None: + try: + etudid = int(etudid) + except ValueError: + return json_error( + 404, + message="etudid invalide", + ) query: Identite = Identite.query.filter_by(id=etudid) elif nip is not None: query = Identite.query.filter_by(code_nip=nip)