From 43cbb8537c0c6f549ccf11bc2096fbb2f0062b4e Mon Sep 17 00:00:00 2001 From: leonard_montalbano Date: Thu, 12 May 2022 16:14:36 +0200 Subject: [PATCH] =?UTF-8?q?premier=20jet=20du=20probl=C3=A8me=20d'=C3=A9tu?= =?UTF-8?q?diants=20changeant=20de=20d=C3=A9partement?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/etudiants.py | 45 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/app/api/etudiants.py b/app/api/etudiants.py index a41634f95..82975ad71 100644 --- a/app/api/etudiants.py +++ b/app/api/etudiants.py @@ -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/", methods=["GET"]) +@bp.route("/etudiant/test/nip/", methods=["GET"]) +@bp.route("/etudiant/test/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