forked from ScoDoc/ScoDoc
Fix API /formsemestres/with_description/query error handling. Tests ok.
This commit is contained in:
parent
d6895bba8a
commit
728ff1790d
@ -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)
|
||||
|
@ -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,
|
||||
},
|
||||
|
Loading…
x
Reference in New Issue
Block a user