forked from ScoDoc/ScoDoc
premier jet du problème d'étudiants changeant de département
This commit is contained in:
parent
c4fce43b1a
commit
43cbb8537c
@ -1,4 +1,5 @@
|
||||
#################################################### Etudiants ########################################################
|
||||
import json
|
||||
|
||||
from flask import jsonify
|
||||
|
||||
@ -14,6 +15,50 @@ from app.scodoc import sco_groups
|
||||
from app.scodoc.sco_permissions import Permission
|
||||
|
||||
|
||||
@bp.route("/etudiant/test/etudid/<int:etudid>", methods=["GET"])
|
||||
@bp.route("/etudiant/test/nip/<string:nip>", methods=["GET"])
|
||||
@bp.route("/etudiant/test/ine/<string:ine>", methods=["GET"])
|
||||
@token_auth.login_required
|
||||
@token_permission_required(Permission.APIView)
|
||||
def etudiant_test(etudid: int = None, nip: int = None, ine: int = None):
|
||||
|
||||
# Récupération de tous les étudiants qui portent le même code_nip
|
||||
etus = models.Identite.query.filter_by(code_nip=nip).all()
|
||||
|
||||
# Mise en place d'une liste des différents etudid de l'étudiant
|
||||
list_id_etu = []
|
||||
for etu in etus:
|
||||
list_id_etu.append(etu.id)
|
||||
|
||||
list_res = []
|
||||
# Pour chaque etudid de l'étudiant
|
||||
for i in range(len(list_id_etu)):
|
||||
etudid = list_id_etu[i]
|
||||
|
||||
# on va chercher les formsemestres auquel il est inscrit
|
||||
formsemestres = models.FormSemestre.query.filter(
|
||||
models.FormSemestreInscription.etudid == etudid,
|
||||
models.FormSemestreInscription.formsemestre_id == models.FormSemestre.id,
|
||||
).order_by(models.FormSemestre.date_debut)
|
||||
|
||||
# récupération du dernier en date
|
||||
res = formsemestres[-1]
|
||||
list_res.append(res)
|
||||
|
||||
# trie les formsemestres trouvé de l'étudiants par date
|
||||
def sort_by_key(list):
|
||||
return list.date_debut
|
||||
|
||||
list_res_sorted = sorted(list_res, key=sort_by_key)
|
||||
|
||||
# récupération du dernier formsemestre en date tout départements confondu
|
||||
res = list_res_sorted[-1].to_dict()
|
||||
|
||||
return jsonify(res)
|
||||
|
||||
# return error_response(504, message="not implemented")
|
||||
|
||||
|
||||
@bp.route("/etudiants/courant", defaults={"long": False})
|
||||
@bp.route("/etudiants/courant/long", defaults={"long": True})
|
||||
@token_auth.login_required
|
||||
|
Loading…
Reference in New Issue
Block a user