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 ########################################################
|
#################################################### Etudiants ########################################################
|
||||||
|
import json
|
||||||
|
|
||||||
from flask import jsonify
|
from flask import jsonify
|
||||||
|
|
||||||
@ -14,6 +15,50 @@ from app.scodoc import sco_groups
|
|||||||
from app.scodoc.sco_permissions import Permission
|
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", defaults={"long": False})
|
||||||
@bp.route("/etudiants/courant/long", defaults={"long": True})
|
@bp.route("/etudiants/courant/long", defaults={"long": True})
|
||||||
@token_auth.login_required
|
@token_auth.login_required
|
||||||
|
Loading…
Reference in New Issue
Block a user