1
0
forked from ScoDoc/ScoDoc

etudiant, ref. comp.

This commit is contained in:
Emmanuel Viennet 2022-01-08 14:35:02 +01:00
parent 4bb6f93b32
commit 2161d7bddc
2 changed files with 22 additions and 28 deletions

View File

@ -49,6 +49,7 @@ from app.api.auth import token_auth
from app.api.errors import error_response from app.api.errors import error_response
from app import models from app import models
from app.models import FormSemestre, FormSemestreInscription, Identite from app.models import FormSemestre, FormSemestreInscription, Identite
from app.models import ApcReferentielCompetences
from app.scodoc.sco_permissions import Permission from app.scodoc.sco_permissions import Permission
@ -57,8 +58,7 @@ from app.scodoc.sco_permissions import Permission
def list_depts(): def list_depts():
depts = models.Departement.query.filter_by(visible=True).all() depts = models.Departement.query.filter_by(visible=True).all()
data = [d.to_dict() for d in depts] data = [d.to_dict() for d in depts]
# 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"])
@ -67,7 +67,7 @@ def etudiants():
"""Liste de tous les étudiants actuellement inscrits à un semestre """Liste de tous les étudiants actuellement inscrits à un semestre
en cours. 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) # (c'est un exemple à compléter)
if not g.current_user.has_permission(Permission.ScoObservateur, None): if not g.current_user.has_permission(Permission.ScoObservateur, None):
return error_response(401, message="accès interdit") return error_response(401, message="accès interdit")
@ -78,8 +78,7 @@ def etudiants():
FormSemestre.date_debut <= func.now(), FormSemestre.date_debut <= func.now(),
FormSemestre.date_fin >= func.now(), FormSemestre.date_fin >= func.now(),
) )
# return jsonify([e.to_dict_bul(include_urls=False) for e in query]) return jsonify([e.to_dict_bul(include_urls=False) for e in query])
return error_response(501, message="Not implemented")
######################## Departements ################################## ######################## Departements ##################################
@ -89,17 +88,16 @@ def etudiants():
@token_auth.login_required @token_auth.login_required
def departements(): def departements():
""" """
Liste des id de départements Liste des ids de départements
""" """
depts = models.Departement.query.filter_by(visible=True).all() depts = models.Departement.query.filter_by(visible=True).all()
data = [d.to_dict() for d in depts] data = [d.id for d in depts]
# return jsonify(data) return jsonify(data)
return error_response(501, message="Not implemented")
@bp.route("/departements/<string:dept>/etudiants/liste/<int:sem_id>", methods=["GET"]) @bp.route("/departements/<string:dept>/etudiants/liste/<int:sem_id>", methods=["GET"])
@token_auth.login_required @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 Liste des étudiants d'un département
""" """
@ -135,7 +133,7 @@ def liste_etudiants(dept, *args, sem_id):
@bp.route("/departements/<string:dept>/semestres_actifs", methods=["GET"]) @bp.route("/departements/<string:dept>/semestres_actifs", methods=["GET"])
@token_auth.login_required @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é 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") return error_response(501, message="Not implemented")
@bp.route( @bp.route("/referentiel_competences/<int:referentiel_competence_id>")
"/departements/<string:dept>/formations/<int:formation>/referentiel_competences"
)
@token_auth.login_required @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( ref = ApcReferentielCompetences.query.get_or_404(referentiel_competence_id)
models.Departement.acronym == dept, return jsonify(ref.to_dict())
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")
####################### Etudiants ################################## ####################### Etudiants ##################################
@ -179,8 +169,8 @@ def etudiant(etudid):
""" """
Un dictionnaire avec les informations de l'étudiant correspondant à l'id passé en paramètres. Un dictionnaire avec les informations de l'étudiant correspondant à l'id passé en paramètres.
""" """
# return jsonify(models.Identite.query.filter_by(etudid=etudid)) etud: Identite = Identite.query.get_or_404(etudid)
return error_response(501, message="Not implemented") return jsonify(etud.to_dict_bul())
@bp.route("/etudiant/<int:etudid>/semestre/<int:sem_id>/bulletin", methods=["GET"]) @bp.route("/etudiant/<int:etudid>/semestre/<int:sem_id>/bulletin", methods=["GET"])

View File

@ -630,12 +630,16 @@ du programme" (menu "Semestre") si vous avez un semestre en cours);
descr_refcomp = "" descr_refcomp = ""
msg_refcomp = "associer à un référentiel de compétences" msg_refcomp = "associer à un référentiel de compétences"
else: else:
descr_refcomp = f"{formation.referentiel_competence.type_titre} {formation.referentiel_competence.specialite_long}" descr_refcomp = f"""Référentiel de compétences:
<a href="{url_for('notes.refcomp_show',
scodoc_dept=g.scodoc_dept, refcomp_id=formation.referentiel_competence.id)}">
{formation.referentiel_competence.type_titre} {formation.referentiel_competence.specialite_long}
</a> """
msg_refcomp = "changer" msg_refcomp = "changer"
H.append( H.append(
f""" f"""
<ul> <ul>
<li>{descr_refcomp} <a class="stdlink" href="{url_for('notes.refcomp_assoc_formation', <li>{descr_refcomp}&nbsp; <a class="stdlink" href="{url_for('notes.refcomp_assoc_formation',
scodoc_dept=g.scodoc_dept, formation_id=formation_id) scodoc_dept=g.scodoc_dept, formation_id=formation_id)
}">{msg_refcomp}</a> }">{msg_refcomp}</a>
</li> </li>