forked from ScoDoc/ScoDoc
API: /formsemestres/query et /formsemestres_courants : ajout tri résultat. Ajout paramètre etat au query.
This commit is contained in:
parent
baee82103c
commit
0868622511
@ -281,7 +281,15 @@ def dept_formsemestres_courants(acronym: str):
|
|||||||
FormSemestre.date_debut <= test_date,
|
FormSemestre.date_debut <= test_date,
|
||||||
FormSemestre.date_fin >= test_date,
|
FormSemestre.date_fin >= test_date,
|
||||||
)
|
)
|
||||||
return [d.to_dict_api() for d in formsemestres]
|
return [
|
||||||
|
d.to_dict_api()
|
||||||
|
for d in formsemestres.order_by(
|
||||||
|
FormSemestre.date_debut.desc(),
|
||||||
|
FormSemestre.modalite,
|
||||||
|
FormSemestre.semestre_id,
|
||||||
|
FormSemestre.titre,
|
||||||
|
)
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
@bp.route("/departement/id/<int:dept_id>/formsemestres_courants")
|
@bp.route("/departement/id/<int:dept_id>/formsemestres_courants")
|
||||||
|
@ -99,18 +99,20 @@ def formsemestre_infos(formsemestre_id: int):
|
|||||||
def formsemestres_query():
|
def formsemestres_query():
|
||||||
"""
|
"""
|
||||||
Retourne les formsemestres filtrés par
|
Retourne les formsemestres filtrés par
|
||||||
étape Apogée ou année scolaire ou département (acronyme ou id)
|
étape Apogée ou année scolaire ou département (acronyme ou id) ou état ou code étudiant
|
||||||
|
|
||||||
etape_apo : un code étape apogée
|
etape_apo : un code étape apogée
|
||||||
annee_scolaire : année de début de l'année scolaire
|
annee_scolaire : année de début de l'année scolaire
|
||||||
dept_acronym : acronyme du département (eg "RT")
|
dept_acronym : acronyme du département (eg "RT")
|
||||||
dept_id : id du département
|
dept_id : id du département
|
||||||
ine ou nip: code d'un étudiant: ramène alors tous les semestres auxquels il est inscrit.
|
ine ou nip: code d'un étudiant: ramène alors tous les semestres auxquels il est inscrit.
|
||||||
|
etat: 0 si verrouillé, 1 sinon
|
||||||
"""
|
"""
|
||||||
etape_apo = request.args.get("etape_apo")
|
etape_apo = request.args.get("etape_apo")
|
||||||
annee_scolaire = request.args.get("annee_scolaire")
|
annee_scolaire = request.args.get("annee_scolaire")
|
||||||
dept_acronym = request.args.get("dept_acronym")
|
dept_acronym = request.args.get("dept_acronym")
|
||||||
dept_id = request.args.get("dept_id")
|
dept_id = request.args.get("dept_id")
|
||||||
|
etat = request.args.get("etat")
|
||||||
nip = request.args.get("nip")
|
nip = request.args.get("nip")
|
||||||
ine = request.args.get("ine")
|
ine = request.args.get("ine")
|
||||||
formsemestres = FormSemestre.query
|
formsemestres = FormSemestre.query
|
||||||
@ -126,6 +128,12 @@ def formsemestres_query():
|
|||||||
formsemestres = formsemestres.filter(
|
formsemestres = formsemestres.filter(
|
||||||
FormSemestre.date_fin >= debut_annee, FormSemestre.date_debut <= fin_annee
|
FormSemestre.date_fin >= debut_annee, FormSemestre.date_debut <= fin_annee
|
||||||
)
|
)
|
||||||
|
if etat is not None:
|
||||||
|
try:
|
||||||
|
etat = bool(int(etat))
|
||||||
|
except ValueError:
|
||||||
|
return json_error(404, "invalid etat: integer expected")
|
||||||
|
formsemestres = formsemestres.filter_by(etat=etat)
|
||||||
if dept_acronym is not None:
|
if dept_acronym is not None:
|
||||||
formsemestres = formsemestres.join(Departement).filter_by(acronym=dept_acronym)
|
formsemestres = formsemestres.join(Departement).filter_by(acronym=dept_acronym)
|
||||||
if dept_id is not None:
|
if dept_id is not None:
|
||||||
@ -151,7 +159,15 @@ def formsemestres_query():
|
|||||||
formsemestres = formsemestres.join(FormSemestreInscription).join(Identite)
|
formsemestres = formsemestres.join(FormSemestreInscription).join(Identite)
|
||||||
formsemestres = formsemestres.filter_by(code_ine=ine)
|
formsemestres = formsemestres.filter_by(code_ine=ine)
|
||||||
|
|
||||||
return [formsemestre.to_dict_api() for formsemestre in formsemestres]
|
return [
|
||||||
|
formsemestre.to_dict_api()
|
||||||
|
for formsemestre in formsemestres.order_by(
|
||||||
|
FormSemestre.date_debut.desc(),
|
||||||
|
FormSemestre.modalite,
|
||||||
|
FormSemestre.semestre_id,
|
||||||
|
FormSemestre.titre,
|
||||||
|
)
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
@bp.route("/formsemestre/<int:formsemestre_id>/bulletins")
|
@bp.route("/formsemestre/<int:formsemestre_id>/bulletins")
|
||||||
|
Loading…
Reference in New Issue
Block a user