From 2161d7bddc0396960b9aeea70b1c80689eedd74b Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Sat, 8 Jan 2022 14:35:02 +0100 Subject: [PATCH] etudiant, ref. comp. --- app/api/sco_api.py | 42 +++++++++++++++------------------------ app/scodoc/sco_edit_ue.py | 8 ++++++-- 2 files changed, 22 insertions(+), 28 deletions(-) diff --git a/app/api/sco_api.py b/app/api/sco_api.py index 8d0821968..c8b20f913 100644 --- a/app/api/sco_api.py +++ b/app/api/sco_api.py @@ -49,6 +49,7 @@ from app.api.auth import token_auth from app.api.errors import error_response from app import models from app.models import FormSemestre, FormSemestreInscription, Identite +from app.models import ApcReferentielCompetences from app.scodoc.sco_permissions import Permission @@ -57,8 +58,7 @@ from app.scodoc.sco_permissions import Permission def list_depts(): depts = models.Departement.query.filter_by(visible=True).all() data = [d.to_dict() for d in depts] - # return jsonify(data) - return error_response(501, message="Not implemented") + return jsonify(data) @bp.route("/etudiants/courant", methods=["GET"]) @@ -67,7 +67,7 @@ def etudiants(): """Liste de tous les étudiants actuellement inscrits à un semestre en cours. """ - # Vérification de l'accès: permission Observateir sur tous les départements + # Vérification de l'accès: permission Observateur sur tous les départements # (c'est un exemple à compléter) if not g.current_user.has_permission(Permission.ScoObservateur, None): return error_response(401, message="accès interdit") @@ -78,8 +78,7 @@ def etudiants(): FormSemestre.date_debut <= func.now(), FormSemestre.date_fin >= func.now(), ) - # return jsonify([e.to_dict_bul(include_urls=False) for e in query]) - return error_response(501, message="Not implemented") + return jsonify([e.to_dict_bul(include_urls=False) for e in query]) ######################## Departements ################################## @@ -89,17 +88,16 @@ def etudiants(): @token_auth.login_required def departements(): """ - Liste des id de départements + Liste des ids de départements """ depts = models.Departement.query.filter_by(visible=True).all() - data = [d.to_dict() for d in depts] - # return jsonify(data) - return error_response(501, message="Not implemented") + data = [d.id for d in depts] + return jsonify(data) @bp.route("/departements//etudiants/liste/", methods=["GET"]) @token_auth.login_required -def liste_etudiants(dept, *args, sem_id): +def liste_etudiants(dept, *args, sem_id): # XXX TODO A REVOIR """ Liste des étudiants d'un département """ @@ -135,7 +133,7 @@ def liste_etudiants(dept, *args, sem_id): @bp.route("/departements//semestres_actifs", methods=["GET"]) @token_auth.login_required -def liste_semestres_actifs(dept): +def liste_semestres_actifs(dept): # TODO : changer nom """ Liste des semestres actifs d'un départements donné """ @@ -152,22 +150,14 @@ def liste_semestres_actifs(dept): return error_response(501, message="Not implemented") -@bp.route( - "/departements//formations//referentiel_competences" -) +@bp.route("/referentiel_competences/") @token_auth.login_required -def referenciel_competences(dept, formation): +def referentiel_competences(referentiel_competence_id): """ - Le référenciel de compétences d'une formation donnée + Le référentiel de compétences """ - ref_comp = models.Formation.query.filter( - models.Departement.acronym == dept, - models.Formation.referentiel_competence_id == formation, - ) - data = [d.to_dict() for d in ref_comp] - - # return jsonify(data) - return error_response(501, message="Not implemented") + ref = ApcReferentielCompetences.query.get_or_404(referentiel_competence_id) + return jsonify(ref.to_dict()) ####################### Etudiants ################################## @@ -179,8 +169,8 @@ def etudiant(etudid): """ Un dictionnaire avec les informations de l'étudiant correspondant à l'id passé en paramètres. """ - # return jsonify(models.Identite.query.filter_by(etudid=etudid)) - return error_response(501, message="Not implemented") + etud: Identite = Identite.query.get_or_404(etudid) + return jsonify(etud.to_dict_bul()) @bp.route("/etudiant//semestre//bulletin", methods=["GET"]) diff --git a/app/scodoc/sco_edit_ue.py b/app/scodoc/sco_edit_ue.py index 766fbd9b8..a98780e21 100644 --- a/app/scodoc/sco_edit_ue.py +++ b/app/scodoc/sco_edit_ue.py @@ -630,12 +630,16 @@ du programme" (menu "Semestre") si vous avez un semestre en cours); descr_refcomp = "" msg_refcomp = "associer à un référentiel de compétences" else: - descr_refcomp = f"{formation.referentiel_competence.type_titre} {formation.referentiel_competence.specialite_long}" + descr_refcomp = f"""Référentiel de compétences: + + {formation.referentiel_competence.type_titre} {formation.referentiel_competence.specialite_long} + """ msg_refcomp = "changer" H.append( f"""