forked from ScoDoc/ScoDoc
prise en compte des remarques de formations.py
This commit is contained in:
parent
c6187cbe0d
commit
ce2b7334c6
@ -4,9 +4,8 @@ from flask import jsonify
|
|||||||
from app import models
|
from app import models
|
||||||
from app.api import bp
|
from app.api import bp
|
||||||
from app.api.errors import error_response
|
from app.api.errors import error_response
|
||||||
from app.api.auth import token_auth, token_permission_required
|
from app.api.auth import token_permission_required
|
||||||
from app.scodoc.sco_formations import formation_export
|
from app.scodoc.sco_formations import formation_export
|
||||||
from app.scodoc.sco_moduleimpl import moduleimpl_list
|
|
||||||
from app.scodoc.sco_permissions import Permission
|
from app.scodoc.sco_permissions import Permission
|
||||||
|
|
||||||
|
|
||||||
@ -34,7 +33,7 @@ def formations_by_id(formation_id: int):
|
|||||||
formation_id : l'id d'une formation
|
formation_id : l'id d'une formation
|
||||||
"""
|
"""
|
||||||
# Récupération de la formation
|
# Récupération de la formation
|
||||||
forma = models.Formation.query.filter_by(id=formation_id).first()
|
forma = models.Formation.query.filter_by(id=formation_id).first_or_404()
|
||||||
|
|
||||||
# Mise en forme des données
|
# Mise en forme des données
|
||||||
data = [d.to_dict() for d in forma]
|
data = [d.to_dict() for d in forma]
|
||||||
@ -72,12 +71,14 @@ def formsemestre_apo(etape_apo: int):
|
|||||||
etape_apo : l'id d'une étape apogée
|
etape_apo : l'id d'une étape apogée
|
||||||
"""
|
"""
|
||||||
# Récupération des formsemestres
|
# Récupération des formsemestres
|
||||||
apos = models.FormSemestreEtape.query.filter_by(etape_apo=etape_apo).all()
|
apos = models.FormSemestreEtape.query.filter_by(etape_apo=etape_apo)
|
||||||
|
|
||||||
data = []
|
data = []
|
||||||
# Filtre les formsemestres correspondant + mise en forme des données
|
# Filtre les formsemestres correspondant + mise en forme des données
|
||||||
for apo in apos:
|
for apo in apos:
|
||||||
formsem = models.FormSemestre.query.filter_by(id=apo["formsemestre_id"]).first()
|
formsem = models.FormSemestre.query.filter_by(
|
||||||
|
id=apo["formsemestre_id"]
|
||||||
|
).first_or_404()
|
||||||
data.append(formsem.to_dict())
|
data.append(formsem.to_dict())
|
||||||
|
|
||||||
return jsonify(data)
|
return jsonify(data)
|
||||||
@ -93,37 +94,32 @@ def moduleimpls(moduleimpl_id: int):
|
|||||||
moduleimpl_id : l'id d'un moduleimpl
|
moduleimpl_id : l'id d'un moduleimpl
|
||||||
"""
|
"""
|
||||||
# Récupération des tous les moduleimpl
|
# Récupération des tous les moduleimpl
|
||||||
list_moduleimpls = models.ModuleImpl.query.filter_by(id=moduleimpl_id).all()
|
list_moduleimpls = models.ModuleImpl.query.filter_by(id=moduleimpl_id)
|
||||||
|
|
||||||
# Mise en forme des données
|
# Mise en forme des données
|
||||||
data = list_moduleimpls[0].to_dict()
|
data = [moduleimpl.to_dict() for moduleimpl in list_moduleimpls]
|
||||||
|
|
||||||
return jsonify(data)
|
return jsonify(data)
|
||||||
|
|
||||||
|
|
||||||
@bp.route(
|
@bp.route(
|
||||||
"/formations/moduleimpl/<int:moduleimpl_id>/formsemestre/<int:formsemestre_id>",
|
"/formations/moduleimpl/formsemestre/<int:formsemestre_id>/liste",
|
||||||
methods=["GET"],
|
methods=["GET"],
|
||||||
)
|
) # XXX TODO penser à changer la route sur la doc
|
||||||
@token_permission_required(Permission.APIView)
|
@token_permission_required(Permission.APIView)
|
||||||
def moduleimpls_sem(moduleimpl_id: int, formsemestre_id: int):
|
def moduleimpls_sem(formsemestre_id: int):
|
||||||
"""
|
"""
|
||||||
Retourne la liste des moduleimpl d'un semestre
|
Retourne la liste des moduleimpl d'un semestre
|
||||||
|
|
||||||
moduleimpl_id : l'id d'un moduleimpl
|
moduleimpl_id : l'id d'un moduleimpl
|
||||||
formsemestre_id : l'id d'un formsemestre
|
formsemestre_id : l'id d'un formsemestre
|
||||||
"""
|
"""
|
||||||
# Fonction utilisée : app.scodoc.sco_moduleimpl.moduleimpl_list()
|
formsemestre = models.FormSemestre.query.filter_by(
|
||||||
|
id=formsemestre_id
|
||||||
|
).first_or_404()
|
||||||
|
|
||||||
# Utilisation de la fonction moduleimpl_list
|
moduleimpls = formsemestre.modimpls_sorted
|
||||||
data = moduleimpl_list(moduleimpl_id, formsemestre_id)
|
|
||||||
|
|
||||||
if len(data) == 0:
|
data = [moduleimpl.to_dict() for moduleimpl in moduleimpls]
|
||||||
return error_response(
|
|
||||||
409,
|
|
||||||
message="La requête ne peut être traitée en l’état actuel. \n"
|
|
||||||
"Aucun moduleimpl ne correspond au 'moduleimpl_id' ou "
|
|
||||||
"'formsemestre_id' renseigné",
|
|
||||||
)
|
|
||||||
|
|
||||||
return jsonify(data)
|
return jsonify(data)
|
||||||
|
Loading…
Reference in New Issue
Block a user