Skip to content
Snippets Groups Projects
Commit 728ff179 authored by Emmanuel Viennet's avatar Emmanuel Viennet
Browse files

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

parent d6895bba
No related branches found
No related tags found
No related merge requests found
...@@ -18,7 +18,7 @@ import datetime ...@@ -18,7 +18,7 @@ import datetime
import io import io
from operator import attrgetter, itemgetter 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_json import as_json
from flask_login import current_user, login_required from flask_login import current_user, login_required
from flask_sqlalchemy.query import Query from flask_sqlalchemy.query import Query
...@@ -101,7 +101,7 @@ def formsemestre_get_with_description(formsemestre_id: int): ...@@ -101,7 +101,7 @@ def formsemestre_get_with_description(formsemestre_id: int):
return sem return sem
def _list_formsemestres_query() -> Query: def _list_formsemestres_query() -> Query | Response:
"""Recupère les formsemestres selon les arguments passés (request.args)""" """Recupère les formsemestres selon les arguments passés (request.args)"""
etape_apo = request.args.get("etape_apo") etape_apo = request.args.get("etape_apo")
annee_scolaire = request.args.get("annee_scolaire") annee_scolaire = request.args.get("annee_scolaire")
...@@ -192,9 +192,10 @@ def formsemestres_query(): ...@@ -192,9 +192,10 @@ def formsemestres_query():
ine:<string:ine> ine:<string:ine>
""" """
formsemestres = _list_formsemestres_query() formsemestres_or_reponse = _list_formsemestres_query()
if isinstance(formsemestres_or_reponse, Response):
return [formsemestre.to_dict_api() for formsemestre in formsemestres] return formsemestres_or_reponse
return [formsemestre.to_dict_api() for formsemestre in formsemestres_or_reponse]
@bp.route("/formsemestre/<int:formsemestre_id>/edit", methods=["POST"]) @bp.route("/formsemestre/<int:formsemestre_id>/edit", methods=["POST"])
...@@ -882,9 +883,11 @@ def formsemestres_with_description(): ...@@ -882,9 +883,11 @@ def formsemestres_with_description():
avec description externe pour AutoSco. avec description externe pour AutoSco.
""" """
formsemestre: FormSemestre formsemestre: FormSemestre
formsemestres = _list_formsemestres_query() formsemestres_or_reponse = _list_formsemestres_query()
if isinstance(formsemestres_or_reponse, Response):
return formsemestres_or_reponse
res = [] res = []
for formsemestre in formsemestres: for formsemestre in formsemestres_or_reponse:
sem = formsemestre.to_dict_api() sem = formsemestre.to_dict_api()
_add_description(formsemestre, sem) _add_description(formsemestre, sem)
res.append(sem) res.append(sem)
......
...@@ -73,6 +73,7 @@ def test_permissions(api_headers): ...@@ -73,6 +73,7 @@ def test_permissions(api_headers):
# par défaut, on passe tous les arguments de all_args # par défaut, on passe tous les arguments de all_args
endpoint_args = { endpoint_args = {
"api.formsemestres_query": {}, "api.formsemestres_query": {},
"api.formsemestres_with_description": {"formsemestre_id": 1},
"api.formsemestre_edt": { "api.formsemestre_edt": {
"formsemestre_id": 1, "formsemestre_id": 1,
}, },
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment