forked from ScoDoc/ScoDoc
factorisation des fichiers departements.py etudiant.py et formsemestre.py
This commit is contained in:
parent
07123089e2
commit
79b79ddc76
@ -71,21 +71,17 @@ def liste_etudiants(dept: str, formsemestre_id=None):
|
|||||||
formsemestre = models.FormSemestre.query.filter_by(id=formsemestre_id).first()
|
formsemestre = models.FormSemestre.query.filter_by(id=formsemestre_id).first()
|
||||||
# Récupération du département
|
# Récupération du département
|
||||||
departement = formsemestre.departement
|
departement = formsemestre.departement
|
||||||
# Récupération des étudiants
|
|
||||||
etudiants = departement.etudiants.all()
|
|
||||||
|
|
||||||
# Mise en forme des données
|
|
||||||
list_etu = [etu.to_dict_bul(include_urls=False) for etu in etudiants]
|
|
||||||
|
|
||||||
# Si le formsemestre_id n'a pas été renseigné
|
# Si le formsemestre_id n'a pas été renseigné
|
||||||
else:
|
else:
|
||||||
# Récupération du formsemestre
|
# Récupération du formsemestre
|
||||||
departement = models.Departement.query.filter_by(acronym=dept).first()
|
departement = models.Departement.query.filter_by(acronym=dept).first()
|
||||||
# Récupération des étudiants
|
|
||||||
etudiants = departement.etudiants.all()
|
|
||||||
|
|
||||||
# Mise en forme des données
|
# Récupération des étudiants
|
||||||
list_etu = [etu.to_dict_bul(include_urls=False) for etu in etudiants]
|
etudiants = departement.etudiants.all()
|
||||||
|
|
||||||
|
# Mise en forme des données
|
||||||
|
list_etu = [etu.to_dict_bul(include_urls=False) for etu in etudiants]
|
||||||
|
|
||||||
return jsonify(list_etu)
|
return jsonify(list_etu)
|
||||||
|
|
||||||
@ -203,6 +199,9 @@ def semestre_index(dept: str, formsemestre_id: int):
|
|||||||
ues = formsemestre.query_ues()
|
ues = formsemestre.query_ues()
|
||||||
|
|
||||||
ues_dict = []
|
ues_dict = []
|
||||||
|
ressources = []
|
||||||
|
saes = []
|
||||||
|
|
||||||
for ue in ues:
|
for ue in ues:
|
||||||
ues_dict.append(ue.to_dict())
|
ues_dict.append(ue.to_dict())
|
||||||
ressources = ue.get_ressources()
|
ressources = ue.get_ressources()
|
||||||
|
@ -7,6 +7,7 @@ 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_auth, token_permission_required
|
||||||
|
from app.api.tools import get_etu_from_request
|
||||||
from app.scodoc.sco_bulletins_json import make_json_formsemestre_bulletinetud
|
from app.scodoc.sco_bulletins_json import make_json_formsemestre_bulletinetud
|
||||||
from app.scodoc.sco_groups import get_etud_groups
|
from app.scodoc.sco_groups import get_etud_groups
|
||||||
from app.scodoc.sco_permissions import Permission
|
from app.scodoc.sco_permissions import Permission
|
||||||
@ -52,7 +53,6 @@ def etudiants():
|
|||||||
data = [d.to_dict_bul(include_urls=False) for d in etu]
|
data = [d.to_dict_bul(include_urls=False) for d in etu]
|
||||||
|
|
||||||
return jsonify(data)
|
return jsonify(data)
|
||||||
# return error_response(501, message="Not implemented")
|
|
||||||
|
|
||||||
|
|
||||||
@bp.route("/etudiants/courant", methods=["GET"])
|
@bp.route("/etudiants/courant", methods=["GET"])
|
||||||
@ -97,7 +97,6 @@ def etudiants_courant():
|
|||||||
data.append(etu.to_dict_bul(include_urls=False))
|
data.append(etu.to_dict_bul(include_urls=False))
|
||||||
|
|
||||||
return jsonify(data)
|
return jsonify(data)
|
||||||
# return error_response(501, message="Not implemented")
|
|
||||||
|
|
||||||
|
|
||||||
@bp.route("/etudiant/etudid/<int:etudid>", methods=["GET"])
|
@bp.route("/etudiant/etudid/<int:etudid>", methods=["GET"])
|
||||||
@ -126,32 +125,8 @@ def etudiant(etudid: int = None, nip: int = None, ine: int = None):
|
|||||||
"prenom": "JACQUES"
|
"prenom": "JACQUES"
|
||||||
}
|
}
|
||||||
"""
|
"""
|
||||||
# etu = []
|
# Récupération de l'étudiant
|
||||||
|
etu = get_etu_from_request(etudid, nip, ine)
|
||||||
if etudid is None:
|
|
||||||
if nip is None: # si ine
|
|
||||||
etu = models.Identite.query.filter_by(code_ine=str(ine)).first()
|
|
||||||
else: # si nip
|
|
||||||
etu = models.Identite.query.filter_by(code_nip=str(nip)).first()
|
|
||||||
|
|
||||||
else: # si etudid
|
|
||||||
etu = models.Identite.query.filter_by(id=etudid).first()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# if etudid is not None: # Si route etudid
|
|
||||||
# # Récupération de l'étudiant
|
|
||||||
# etu = models.Identite.query.filter_by(id=etudid).first()
|
|
||||||
#
|
|
||||||
# if nip is not None: # Si route nip
|
|
||||||
# # Récupération de l'étudiant
|
|
||||||
# etu = models.Identite.query.filter_by(code_nip=str(nip)).first()
|
|
||||||
#
|
|
||||||
# breakpoint()
|
|
||||||
#
|
|
||||||
# if ine is not None: # Si route ine
|
|
||||||
# # Récupération de l'étudiant
|
|
||||||
# etu = models.Identite.query.filter_by(code_ine=str(ine)).first()
|
|
||||||
|
|
||||||
# Mise en forme des données
|
# Mise en forme des données
|
||||||
data = etu.to_dict_bul(include_urls=False)
|
data = etu.to_dict_bul(include_urls=False)
|
||||||
@ -210,31 +185,19 @@ def etudiant_formsemestres(etudid: int = None, nip: int = None, ine: int = None)
|
|||||||
# Récupération de toutes les inscriptions
|
# Récupération de toutes les inscriptions
|
||||||
inscriptions = models.FormSemestreInscription.query.all()
|
inscriptions = models.FormSemestreInscription.query.all()
|
||||||
|
|
||||||
|
# Récupération de l'étudiant
|
||||||
|
etu = get_etu_from_request(etudid, nip, ine)
|
||||||
|
|
||||||
sems = []
|
sems = []
|
||||||
# Filtre les inscriptions contenant l'étudiant
|
# Filtre les inscriptions contenant l'étudiant
|
||||||
for sem in inscriptions:
|
for sem in inscriptions:
|
||||||
if etudid is None:
|
if sem.etudid == etu.etudid:
|
||||||
if nip is None: # si ine
|
sems.append(sem)
|
||||||
# Récupération de l'étudiant
|
|
||||||
etu = models.Identite.query.filter_by(code_ine=str(ine)).first()
|
|
||||||
if sem.etudid == etu.etudid:
|
|
||||||
sems.append(sem)
|
|
||||||
else: # si nip
|
|
||||||
# Récupération de l'étudiant
|
|
||||||
etu = models.Identite.query.filter_by(code_nip=str(nip)).first()
|
|
||||||
if sem.etudid == etu.etudid:
|
|
||||||
sems.append(sem)
|
|
||||||
else: # si etudid
|
|
||||||
if sem.etudid == etudid:
|
|
||||||
sems.append(sem)
|
|
||||||
|
|
||||||
# Mise en forme des données
|
|
||||||
# data_inscriptions = [d.to_dict() for d in sems]
|
|
||||||
|
|
||||||
formsemestres = []
|
formsemestres = []
|
||||||
|
|
||||||
# Filtre les formsemestre contenant les inscriptions de l'étudiant
|
# Filtre les formsemestre contenant les inscriptions de l'étudiant
|
||||||
for sem in sems:#data_inscriptions:
|
for sem in sems: #data_inscriptions:
|
||||||
res = models.FormSemestre.query.filter_by(id=sem.formsemestre_id).first()
|
res = models.FormSemestre.query.filter_by(id=sem.formsemestre_id).first()
|
||||||
formsemestres.append(res)
|
formsemestres.append(res)
|
||||||
|
|
||||||
@ -269,12 +232,9 @@ def etudiant_bulletin_semestre(formsemestre_id, etudid: int = None, nip: int = N
|
|||||||
app.set_sco_dept(dept.acronym)
|
app.set_sco_dept(dept.acronym)
|
||||||
|
|
||||||
if etudid is None:
|
if etudid is None:
|
||||||
if nip is None: # si ine
|
# Récupération de l'étudiant
|
||||||
etu = models.Identite.query.filter_by(code_nip=str(ine)).first()
|
etu = get_etu_from_request(etudid, nip, ine)
|
||||||
return make_json_formsemestre_bulletinetud(formsemestre_id, etu.etudid)
|
etudid = etu.etudid
|
||||||
else: # si nip
|
|
||||||
etu = models.Identite.query.filter_by(code_nip=str(nip)).first()
|
|
||||||
return make_json_formsemestre_bulletinetud(formsemestre_id, etu.etudid)
|
|
||||||
|
|
||||||
return make_json_formsemestre_bulletinetud(formsemestre_id, etudid)
|
return make_json_formsemestre_bulletinetud(formsemestre_id, etudid)
|
||||||
|
|
||||||
@ -322,17 +282,9 @@ def etudiant_groups(formsemestre_id: int, etudid: int = None, nip: int = None, i
|
|||||||
# Fonction utilisée : app.scodoc.sco_groups.get_etud_groups()
|
# Fonction utilisée : app.scodoc.sco_groups.get_etud_groups()
|
||||||
|
|
||||||
if etudid is None:
|
if etudid is None:
|
||||||
if nip is not None: # Si route nip
|
# Récupération de l'étudiant
|
||||||
# Récupération de l'étudiant
|
etu = get_etu_from_request(etudid, nip, ine)
|
||||||
etu = models.Identite.query.filter_by(code_nip=str(nip)).first()
|
etudid = etu.etudid
|
||||||
# Récupération de sont etudid
|
|
||||||
etudid = etu.etudid
|
|
||||||
|
|
||||||
if ine is not None: # Si route ine
|
|
||||||
# Récupération de l'étudiant
|
|
||||||
etu = models.Identite.query.filter_by(code_ine=str(ine)).first()
|
|
||||||
# Récupération de sont etudid
|
|
||||||
etudid = etu.etudid
|
|
||||||
|
|
||||||
# Récupération du formsemestre
|
# Récupération du formsemestre
|
||||||
sem = models.FormSemestre.query.filter_by(id=formsemestre_id).first()
|
sem = models.FormSemestre.query.filter_by(id=formsemestre_id).first()
|
||||||
@ -343,4 +295,4 @@ def etudiant_groups(formsemestre_id: int, etudid: int = None, nip: int = None, i
|
|||||||
except ValueError:
|
except ValueError:
|
||||||
return error_response(409, message="La requête ne peut être traitée en l’état actuel")
|
return error_response(409, message="La requête ne peut être traitée en l’état actuel")
|
||||||
|
|
||||||
return jsonify(data)
|
return jsonify(data)
|
||||||
|
@ -6,7 +6,7 @@ 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_auth, token_permission_required
|
||||||
from app.scodoc.sco_bulletins import formsemestre_bulletinetud_dict
|
from app.api.tools import get_etu_from_request
|
||||||
from app.scodoc.sco_bulletins_json import make_json_formsemestre_bulletinetud
|
from app.scodoc.sco_bulletins_json import make_json_formsemestre_bulletinetud
|
||||||
from app.scodoc.sco_permissions import Permission
|
from app.scodoc.sco_permissions import Permission
|
||||||
from app.scodoc.sco_pvjury import formsemestre_pvjury
|
from app.scodoc.sco_pvjury import formsemestre_pvjury
|
||||||
@ -24,10 +24,10 @@ def formsemestre(formsemestre_id: int):
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
# Récupération de tous les formsemestres
|
# Récupération de tous les formsemestres
|
||||||
list_formsemetre = models.FormSemestre.query.filter_by(id=formsemestre_id)
|
formsemetre = models.FormSemestre.query.filter_by(id=formsemestre_id).first()
|
||||||
|
|
||||||
# Mise en forme des données
|
# Mise en forme des données
|
||||||
data = list_formsemetre[0].to_dict()
|
data = formsemetre.to_dict()
|
||||||
|
|
||||||
return jsonify(data)
|
return jsonify(data)
|
||||||
|
|
||||||
@ -61,26 +61,14 @@ def etudiant_bulletin(formsemestre_id, dept, format="json", etudid: int = None,
|
|||||||
|
|
||||||
app.set_sco_dept(dept)
|
app.set_sco_dept(dept)
|
||||||
|
|
||||||
data = []
|
|
||||||
|
|
||||||
if etudid is None:
|
if etudid is None:
|
||||||
if nip is None: # si ine
|
# Récupération de l'étudiant
|
||||||
etu = models.Identite.query.filter_by(code_ine=str(ine)).first()
|
etu = get_etu_from_request(etudid, nip, ine)
|
||||||
# data = formsemestre_bulletinetud_dict(formsemestre_id, etu.id)
|
etudid = etu.etudid
|
||||||
data = make_json_formsemestre_bulletinetud(formsemestre_id, etu.id)
|
|
||||||
return data
|
|
||||||
else: # si nip
|
|
||||||
etu = models.Identite.query.filter_by(code_nip=str(nip)).first()
|
|
||||||
# data = formsemestre_bulletinetud_dict(formsemestre_id, etu.id)
|
|
||||||
data = make_json_formsemestre_bulletinetud(formsemestre_id, etu.id)
|
|
||||||
return data
|
|
||||||
else: # si etudid
|
|
||||||
# data = formsemestre_bulletinetud_dict(formsemestre_id, etudid)
|
|
||||||
data = make_json_formsemestre_bulletinetud(formsemestre_id, etudid)
|
|
||||||
# return jsonify(data)
|
|
||||||
return data
|
|
||||||
|
|
||||||
|
data = make_json_formsemestre_bulletinetud(formsemestre_id, etudid)
|
||||||
|
|
||||||
|
return data
|
||||||
|
|
||||||
|
|
||||||
# if args[0] == "short":
|
# if args[0] == "short":
|
||||||
|
22
app/api/tools.py
Normal file
22
app/api/tools.py
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
from app import models
|
||||||
|
|
||||||
|
def get_etu_from_request(etudid, nip, ine):
|
||||||
|
"""
|
||||||
|
Fonction qui retourne un etudiant en fonction de l'etudid, code nip et code ine rentré en paramètres
|
||||||
|
|
||||||
|
etudid : None ou un int etudid
|
||||||
|
nip : None ou un int code_nip
|
||||||
|
ine : None ou un int code_ine
|
||||||
|
|
||||||
|
Exemple de résultat: <Itendite>
|
||||||
|
"""
|
||||||
|
|
||||||
|
if etudid is None:
|
||||||
|
if nip is None: # si ine
|
||||||
|
etu = models.Identite.query.filter_by(code_ine=str(ine)).first()
|
||||||
|
else: # si nip
|
||||||
|
etu = models.Identite.query.filter_by(code_nip=str(nip)).first()
|
||||||
|
else: # si etudid
|
||||||
|
etu = models.Identite.query.filter_by(id=etudid).first()
|
||||||
|
|
||||||
|
return etu
|
Loading…
Reference in New Issue
Block a user