forked from ScoDoc/ScoDoc
prise en compte des remarques sur etudiants.py
This commit is contained in:
parent
06844380ad
commit
4c28d140a6
@ -8,51 +8,12 @@ from app.api import bp
|
||||
from app.api.errors import error_response
|
||||
from app.api.auth import token_auth, token_permission_required
|
||||
from app.api.tools import get_etu_from_request
|
||||
from app.scodoc.sco_bulletins_json import make_json_formsemestre_bulletinetud
|
||||
from app.models import FormSemestreInscription, FormSemestre, Identite
|
||||
from app.scodoc.sco_bulletins import get_formsemestre_bulletin_etud_json
|
||||
from app.scodoc.sco_groups import get_etud_groups
|
||||
from app.scodoc.sco_permissions import Permission
|
||||
|
||||
|
||||
@bp.route("/etudiants", methods=["GET"])
|
||||
@token_permission_required(Permission.APIView)
|
||||
def etudiants():
|
||||
"""
|
||||
Retourne la liste de tous les étudiants
|
||||
|
||||
Exemple de résultat :
|
||||
{
|
||||
"civilite": "X",
|
||||
"code_ine": null,
|
||||
"code_nip": null,
|
||||
"date_naissance": null,
|
||||
"email": null,
|
||||
"emailperso": null,
|
||||
"etudid": 18,
|
||||
"nom": "MOREL",
|
||||
"prenom": "JACQUES"
|
||||
},
|
||||
{
|
||||
"civilite": "X",
|
||||
"code_ine": null,
|
||||
"code_nip": null,
|
||||
"date_naissance": null,
|
||||
"email": null,
|
||||
"emailperso": null,
|
||||
"etudid": 19,
|
||||
"nom": "FOURNIER",
|
||||
"prenom": "ANNE"
|
||||
},
|
||||
...
|
||||
"""
|
||||
# Récupération de tous les étudiants
|
||||
etu = models.Identite.query.all()
|
||||
|
||||
# Mise en forme des données
|
||||
data = [d.to_dict_bul(include_urls=False) for d in etu]
|
||||
|
||||
return jsonify(data)
|
||||
|
||||
|
||||
@bp.route("/etudiants/courant", methods=["GET"])
|
||||
@token_permission_required(Permission.APIView)
|
||||
def etudiants_courant():
|
||||
@ -85,13 +46,13 @@ def etudiants_courant():
|
||||
...
|
||||
"""
|
||||
# Récupération de tous les étudiants
|
||||
etus = models.Identite.query.all()
|
||||
etus = Identite.query.filter(
|
||||
Identite.id == FormSemestreInscription.etudid,
|
||||
FormSemestreInscription.formsemestre_id == FormSemestre.id,
|
||||
FormSemestre.date_debut <= app.db.func.now(),
|
||||
FormSemestre.date_fin >= app.db.func.now())
|
||||
|
||||
data = []
|
||||
# Récupère uniquement les étudiants courant
|
||||
for etu in etus:
|
||||
if etu.inscription_courante() is not None:
|
||||
data.append(etu.to_dict_bul(include_urls=False))
|
||||
data = [etu.to_dict_bul(include_urls=False) for etu in etus]
|
||||
|
||||
return jsonify(data)
|
||||
|
||||
@ -190,7 +151,7 @@ def etudiant_formsemestres(etudid: int = None, nip: int = None, ine: int = None)
|
||||
for formsemestre_inscription in formsemestres_inscriptions:
|
||||
res = models.FormSemestre.query.filter_by(
|
||||
id=formsemestre_inscription.formsemestre_id
|
||||
).first()
|
||||
).first_or_404()
|
||||
formsemestres.append(res)
|
||||
|
||||
data = []
|
||||
@ -227,25 +188,23 @@ def etudiant_bulletin_semestre(
|
||||
"""
|
||||
# Fonction utilisée : app.scodoc.sco_bulletins_json.make_json_formsemestre_bulletinetud()
|
||||
|
||||
formsemestre = models.FormSemestre.query.filter_by(id=formsemestre_id).first()
|
||||
formsemestre = models.FormSemestre.query.filter_by(id=formsemestre_id).first_or_404()
|
||||
|
||||
dept = models.Departement.query.filter_by(id=formsemestre.dept_id).first()
|
||||
dept = models.Departement.query.filter_by(id=formsemestre.dept_id).first_or_404()
|
||||
|
||||
app.set_sco_dept(dept.acronym)
|
||||
|
||||
if etudid is None:
|
||||
# Récupération de l'étudiant
|
||||
try:
|
||||
etu = get_etu_from_request(etudid, nip, ine)
|
||||
etudid = etu.etudid
|
||||
except AttributeError:
|
||||
return error_response(
|
||||
409,
|
||||
message="La requête ne peut être traitée en l’état actuel.\n "
|
||||
"Veilliez vérifier que l'id de l'étudiant (etudid, nip, ine) est valide",
|
||||
)
|
||||
# Récupération de l'étudiant
|
||||
try:
|
||||
etu = get_etu_from_request(etudid, nip, ine)
|
||||
except AttributeError:
|
||||
return error_response(
|
||||
409,
|
||||
message="La requête ne peut être traitée en l’état actuel.\n "
|
||||
"Veilliez vérifier que l'id de l'étudiant (etudid, nip, ine) est valide",
|
||||
)
|
||||
|
||||
return make_json_formsemestre_bulletinetud(formsemestre_id, etudid)
|
||||
return get_formsemestre_bulletin_etud_json(formsemestre, etu)
|
||||
|
||||
|
||||
@bp.route(
|
||||
@ -311,7 +270,7 @@ def etudiant_groups(
|
||||
)
|
||||
|
||||
# Récupération du formsemestre
|
||||
sem = models.FormSemestre.query.filter_by(id=formsemestre_id).first()
|
||||
sem = models.FormSemestre.query.filter_by(id=formsemestre_id).first_or_404()
|
||||
try:
|
||||
# Utilisation de la fonction get_etud_groups
|
||||
data = get_etud_groups(etudid, sem.id)
|
||||
|
Loading…
Reference in New Issue
Block a user