forked from ScoDoc/ScoDoc
partie formation fini
This commit is contained in:
parent
3fab8300a1
commit
976fdf5b4e
@ -50,7 +50,7 @@ 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.models import ApcReferentielCompetences
|
||||||
from app.scodoc.sco_abs import annule_absence, annule_justif
|
from app.scodoc.sco_abs import annule_absence, annule_justif, add_absence, add_justif
|
||||||
from app.scodoc.sco_bulletins import formsemestre_bulletinetud_dict
|
from app.scodoc.sco_bulletins import formsemestre_bulletinetud_dict
|
||||||
from app.scodoc.sco_bulletins_json import make_json_formsemestre_bulletinetud
|
from app.scodoc.sco_bulletins_json import make_json_formsemestre_bulletinetud
|
||||||
from app.scodoc.sco_evaluation_db import do_evaluation_get_all_notes
|
from app.scodoc.sco_evaluation_db import do_evaluation_get_all_notes
|
||||||
@ -343,17 +343,27 @@ def formation_export_by_formation_id(formation_id: int, export_ids=False):
|
|||||||
"""
|
"""
|
||||||
La formation, avec UE, matières, modules
|
La formation, avec UE, matières, modules
|
||||||
"""
|
"""
|
||||||
data = formation_export(formation_id)
|
try:
|
||||||
|
data = formation_export(formation_id)
|
||||||
|
except ValueError:
|
||||||
|
return error_response(409, message="La requête ne peut être traitée en l’état actuel")
|
||||||
|
|
||||||
return jsonify(data)
|
return jsonify(data)
|
||||||
|
|
||||||
|
|
||||||
@bp.route("/formations/apo/<int:etape_apo>", methods=["GET"])
|
@bp.route("/formations/apo/<string:etape_apo>", methods=["GET"])
|
||||||
def formsemestre_apo(etape_apo: int):
|
def formsemestre_apo(etape_apo: int):
|
||||||
"""
|
"""
|
||||||
Information sur les formsemestres
|
Information sur les formsemestres
|
||||||
"""
|
"""
|
||||||
return error_response(501, message="Not implemented")
|
apos = models.FormSemestreEtape.query.filter_by(etape_apo=etape_apo).all()
|
||||||
|
|
||||||
|
data = []
|
||||||
|
for apo in apos:
|
||||||
|
formsem = models.FormSemestre.query.filter_by(id=apo["formsemestre_id"]).first()
|
||||||
|
data.append(formsem.to_dict())
|
||||||
|
return jsonify(data)
|
||||||
|
# return error_response(501, message="Not implemented")
|
||||||
|
|
||||||
|
|
||||||
@bp.route("/formations/moduleimpl/<int:moduleimpl_id>", methods=["GET"])
|
@bp.route("/formations/moduleimpl/<int:moduleimpl_id>", methods=["GET"])
|
||||||
@ -376,9 +386,12 @@ def moduleimpls_sem(moduleimpl_id: int, formsemestre_id: int):
|
|||||||
"""
|
"""
|
||||||
Liste de moduleimpl d'un semestre
|
Liste de moduleimpl d'un semestre
|
||||||
"""
|
"""
|
||||||
data = moduleimpl_list(moduleimpl_id, formsemestre_id)
|
try:
|
||||||
|
data = moduleimpl_list(moduleimpl_id, formsemestre_id)
|
||||||
|
except ValueError:
|
||||||
|
return error_response(409, message="La requête ne peut être traitée en l’état actuel")
|
||||||
|
|
||||||
return jsonify(data)
|
return jsonify(data)
|
||||||
# return error_response(501, message="Not implemented")
|
|
||||||
|
|
||||||
|
|
||||||
#################################################### UE ###############################################################
|
#################################################### UE ###############################################################
|
||||||
@ -433,7 +446,7 @@ def etudiant_bulletin(formsemestre_id, dept, etudid, format="json", *args, size)
|
|||||||
elif args[0] == "long":
|
elif args[0] == "long":
|
||||||
data = formsemestre_bulletinetud_dict(formsemestre_id, etudid)
|
data = formsemestre_bulletinetud_dict(formsemestre_id, etudid)
|
||||||
else:
|
else:
|
||||||
return error_response(501, message="Not implemented")
|
return error_response(409, message="La requête ne peut être traitée en l’état actuel")
|
||||||
|
|
||||||
return jsonify(data)
|
return jsonify(data)
|
||||||
|
|
||||||
@ -623,7 +636,9 @@ def annule_decision_jury(formsemestre_id: int, etudid=None, nip=None, ine=None):
|
|||||||
#################################################### Absences #########################################################
|
#################################################### Absences #########################################################
|
||||||
|
|
||||||
|
|
||||||
@bp.route("/absences/<int:etudid>", methods=["GET"])
|
@bp.route("/absences/etudid/<int:etudid>", methods=["GET"])
|
||||||
|
@bp.route("/absences/nip/<int:nip>", methods=["GET"])
|
||||||
|
@bp.route("/absences/ine/<int:ine>", methods=["GET"])
|
||||||
def absences(etudid=None, nip=None, ine=None):
|
def absences(etudid=None, nip=None, ine=None):
|
||||||
"""
|
"""
|
||||||
Liste des absences d'un étudiant donné
|
Liste des absences d'un étudiant donné
|
||||||
@ -646,7 +661,9 @@ def absences(etudid=None, nip=None, ine=None):
|
|||||||
return error_response(501, message="Not implemented")
|
return error_response(501, message="Not implemented")
|
||||||
|
|
||||||
|
|
||||||
@bp.route("/absences/<int:etudid>/abs_just_only", methods=["GET"])
|
@bp.route("/absences/etudid/<int:etudid>/abs_just_only", methods=["GET"])
|
||||||
|
@bp.route("/absences/nip/<int:nip>/abs_just_only", methods=["GET"])
|
||||||
|
@bp.route("/absences/ine/<int:ine>/abs_just_only", methods=["GET"])
|
||||||
def absences_justify(etudid=None, nip=None, ine=None):
|
def absences_justify(etudid=None, nip=None, ine=None):
|
||||||
"""
|
"""
|
||||||
Liste des absences justifiés d'un étudiant donné
|
Liste des absences justifiés d'un étudiant donné
|
||||||
@ -669,13 +686,89 @@ def absences_justify(etudid=None, nip=None, ine=None):
|
|||||||
return error_response(501, message="Not implemented")
|
return error_response(501, message="Not implemented")
|
||||||
|
|
||||||
|
|
||||||
@bp.route("/absences/abs_signale", methods=["POST"])
|
@bp.route("/absences/abs_signale?etudid=<int:etudid>&date=<string:date>&matin=<string:matin>&justif=<string:justif>",
|
||||||
|
"&description=<string:description>", methods=["POST"])
|
||||||
|
@bp.route("/absences/abs_signale?nip=<int:nip>&date=<string:date>&matin=<string:matin>&justif=<string:justif>",
|
||||||
|
"&description=<string:description>", methods=["POST"])
|
||||||
|
@bp.route("/absences/abs_signale?ine=<int:ine>&date=<string:date>&matin=<string:matin>&justif=<string:justif>"
|
||||||
|
"&description=<string:description>", methods=["POST"])
|
||||||
|
@bp.route("/absences/abs_signale?ine=<int:ine>&date=<string:date>&matin=<string:matin>&justif=<string:justif>"
|
||||||
|
"&description=<string:description>&moduleimpl_id=<int:moduleimpl_id>", methods=["POST"])
|
||||||
@token_auth.login_required
|
@token_auth.login_required
|
||||||
def abs_signale():
|
def abs_signale(date: datetime, matin: bool, justif: bool, etudid=None, nip=None, ine=None, description=None,
|
||||||
|
moduleimpl_id=None):
|
||||||
"""
|
"""
|
||||||
Retourne un html
|
Permet d'ajouter une absence en base
|
||||||
"""
|
"""
|
||||||
return error_response(501, message="Not implemented")
|
# fonction to use : add_absence, add_justif
|
||||||
|
if description is not None:
|
||||||
|
if moduleimpl_id is not None:
|
||||||
|
if etudid is not None:
|
||||||
|
try:
|
||||||
|
add_absence(etudid, date, matin, justif, description, moduleimpl_id)
|
||||||
|
add_justif(etudid, date, matin, description)
|
||||||
|
except ValueError:
|
||||||
|
return error_response(409, message="La requête ne peut être traitée en l’état actuel")
|
||||||
|
if nip is not None:
|
||||||
|
etu = models.Identite.query.filter_by(code_nip=nip).first()
|
||||||
|
try:
|
||||||
|
add_absence(etu.etudid, date, matin, justif, description, moduleimpl_id)
|
||||||
|
add_justif(etu.etudid, date, matin, description)
|
||||||
|
except ValueError:
|
||||||
|
return error_response(409, message="La requête ne peut être traitée en l’état actuel")
|
||||||
|
if ine is not None:
|
||||||
|
etu = models.Identite.query.filter_by(code_ine=ine).first()
|
||||||
|
try:
|
||||||
|
add_absence(etu.etudid, date, matin, justif, description, moduleimpl_id)
|
||||||
|
add_justif(etu.etudid, date, matin, description)
|
||||||
|
except ValueError:
|
||||||
|
return error_response(409, message="La requête ne peut être traitée en l’état actuel")
|
||||||
|
return error_response(409, message="La requête ne peut être traitée en l’état actuel")
|
||||||
|
else:
|
||||||
|
if etudid is not None:
|
||||||
|
try:
|
||||||
|
add_absence(etudid, date, matin, justif, description)
|
||||||
|
add_justif(etudid, date, matin, description)
|
||||||
|
except ValueError:
|
||||||
|
return error_response(409, message="La requête ne peut être traitée en l’état actuel")
|
||||||
|
if nip is not None:
|
||||||
|
etu = models.Identite.query.filter_by(code_nip=nip).first()
|
||||||
|
try:
|
||||||
|
add_absence(etu.etudid, date, matin, justif, description)
|
||||||
|
add_justif(etu.etudid, date, matin, description)
|
||||||
|
except ValueError:
|
||||||
|
return error_response(409, message="La requête ne peut être traitée en l’état actuel")
|
||||||
|
if ine is not None:
|
||||||
|
etu = models.Identite.query.filter_by(code_ine=ine).first()
|
||||||
|
try:
|
||||||
|
add_absence(etu.etudid, date, matin, justif, description)
|
||||||
|
add_justif(etu.etudid, date, matin, description)
|
||||||
|
except ValueError:
|
||||||
|
return error_response(409, message="La requête ne peut être traitée en l’état actuel")
|
||||||
|
return error_response(409, message="La requête ne peut être traitée en l’état actuel")
|
||||||
|
else:
|
||||||
|
if etudid is not None:
|
||||||
|
try:
|
||||||
|
add_absence(etudid, date, matin, justif)
|
||||||
|
add_justif(etudid, date, matin)
|
||||||
|
except ValueError:
|
||||||
|
return error_response(409, message="La requête ne peut être traitée en l’état actuel")
|
||||||
|
if nip is not None:
|
||||||
|
etu = models.Identite.query.filter_by(code_nip=nip).first()
|
||||||
|
try:
|
||||||
|
add_absence(etu.etudid, date, matin, justif)
|
||||||
|
add_justif(etu.etudid, date, matin)
|
||||||
|
except ValueError:
|
||||||
|
return error_response(409, message="La requête ne peut être traitée en l’état actuel")
|
||||||
|
if ine is not None:
|
||||||
|
etu = models.Identite.query.filter_by(code_ine=ine).first()
|
||||||
|
try:
|
||||||
|
add_absence(etu.etudid, date, matin, justif)
|
||||||
|
add_justif(etu.etudid, date, matin)
|
||||||
|
except ValueError:
|
||||||
|
return error_response(409, message="La requête ne peut être traitée en l’état actuel")
|
||||||
|
|
||||||
|
return error_response(200, message="OK")
|
||||||
|
|
||||||
|
|
||||||
@bp.route("/absences/abs_annule?etudid=<int:etudid>&jour=<string:jour>&matin=<string:matin>", methods=["POST"])
|
@bp.route("/absences/abs_annule?etudid=<int:etudid>&jour=<string:jour>&matin=<string:matin>", methods=["POST"])
|
||||||
@ -737,7 +830,7 @@ def abs_groupe_etat(
|
|||||||
Liste des absences d'un ou plusieurs groupes entre deux dates
|
Liste des absences d'un ou plusieurs groupes entre deux dates
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# list_abs_date<
|
# list_abs_date
|
||||||
return error_response(501, message="Not implemented")
|
return error_response(501, message="Not implemented")
|
||||||
|
|
||||||
|
|
||||||
@ -749,6 +842,7 @@ def liste_logos(format="json"):
|
|||||||
"""
|
"""
|
||||||
Liste des logos définis pour le site scodoc.
|
Liste des logos définis pour le site scodoc.
|
||||||
"""
|
"""
|
||||||
|
# fonction to use : list_logos()
|
||||||
return error_response(501, message="Not implemented")
|
return error_response(501, message="Not implemented")
|
||||||
|
|
||||||
|
|
||||||
@ -757,6 +851,7 @@ def recup_logo_global(nom: str):
|
|||||||
"""
|
"""
|
||||||
Retourne l'image au format png ou jpg
|
Retourne l'image au format png ou jpg
|
||||||
"""
|
"""
|
||||||
|
# fonction to use find_logo
|
||||||
return error_response(501, message="Not implemented")
|
return error_response(501, message="Not implemented")
|
||||||
|
|
||||||
|
|
||||||
@ -773,4 +868,5 @@ def recup_logo_dept_global(dept: str, nom: str):
|
|||||||
"""
|
"""
|
||||||
L'image format png ou jpg
|
L'image format png ou jpg
|
||||||
"""
|
"""
|
||||||
|
# fonction to use find_logo
|
||||||
return error_response(501, message="Not implemented")
|
return error_response(501, message="Not implemented")
|
||||||
|
Loading…
Reference in New Issue
Block a user