Fix API /formsemestres/with_description/query error handling. Tests ok.

This commit is contained in:
Emmanuel Viennet 2025-01-14 01:46:32 +01:00
parent d6895bba8a
commit 728ff1790d
2 changed files with 11 additions and 7 deletions

View File

@ -18,7 +18,7 @@ import datetime
import io
from operator import attrgetter, itemgetter
from flask import g, make_response, request
from flask import g, make_response, request, Response
from flask_json import as_json
from flask_login import current_user, login_required
from flask_sqlalchemy.query import Query
@ -101,7 +101,7 @@ def formsemestre_get_with_description(formsemestre_id: int):
return sem
def _list_formsemestres_query() -> Query:
def _list_formsemestres_query() -> Query | Response:
"""Recupère les formsemestres selon les arguments passés (request.args)"""
etape_apo = request.args.get("etape_apo")
annee_scolaire = request.args.get("annee_scolaire")
@ -192,9 +192,10 @@ def formsemestres_query():
ine:<string:ine>
"""
formsemestres = _list_formsemestres_query()
return [formsemestre.to_dict_api() for formsemestre in formsemestres]
formsemestres_or_reponse = _list_formsemestres_query()
if isinstance(formsemestres_or_reponse, Response):
return formsemestres_or_reponse
return [formsemestre.to_dict_api() for formsemestre in formsemestres_or_reponse]
@bp.route("/formsemestre/<int:formsemestre_id>/edit", methods=["POST"])
@ -882,9 +883,11 @@ def formsemestres_with_description():
avec description externe pour AutoSco.
"""
formsemestre: FormSemestre
formsemestres = _list_formsemestres_query()
formsemestres_or_reponse = _list_formsemestres_query()
if isinstance(formsemestres_or_reponse, Response):
return formsemestres_or_reponse
res = []
for formsemestre in formsemestres:
for formsemestre in formsemestres_or_reponse:
sem = formsemestre.to_dict_api()
_add_description(formsemestre, sem)
res.append(sem)

View File

@ -73,6 +73,7 @@ def test_permissions(api_headers):
# par défaut, on passe tous les arguments de all_args
endpoint_args = {
"api.formsemestres_query": {},
"api.formsemestres_with_description": {"formsemestre_id": 1},
"api.formsemestre_edt": {
"formsemestre_id": 1,
},