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.models import FormSemestre, FormSemestreInscription, Identite
|
||||
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_json import make_json_formsemestre_bulletinetud
|
||||
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
|
||||
"""
|
||||
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)
|
||||
|
||||
|
||||
@bp.route("/formations/apo/<int:etape_apo>", methods=["GET"])
|
||||
@bp.route("/formations/apo/<string:etape_apo>", methods=["GET"])
|
||||
def formsemestre_apo(etape_apo: int):
|
||||
"""
|
||||
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"])
|
||||
@ -376,9 +386,12 @@ def moduleimpls_sem(moduleimpl_id: int, formsemestre_id: int):
|
||||
"""
|
||||
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 error_response(501, message="Not implemented")
|
||||
|
||||
|
||||
#################################################### UE ###############################################################
|
||||
@ -433,7 +446,7 @@ def etudiant_bulletin(formsemestre_id, dept, etudid, format="json", *args, size)
|
||||
elif args[0] == "long":
|
||||
data = formsemestre_bulletinetud_dict(formsemestre_id, etudid)
|
||||
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)
|
||||
|
||||
@ -623,7 +636,9 @@ def annule_decision_jury(formsemestre_id: int, etudid=None, nip=None, ine=None):
|
||||
#################################################### 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):
|
||||
"""
|
||||
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")
|
||||
|
||||
|
||||
@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):
|
||||
"""
|
||||
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")
|
||||
|
||||
|
||||
@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
|
||||
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"])
|
||||
@ -737,7 +830,7 @@ def abs_groupe_etat(
|
||||
Liste des absences d'un ou plusieurs groupes entre deux dates
|
||||
"""
|
||||
|
||||
# list_abs_date<
|
||||
# list_abs_date
|
||||
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.
|
||||
"""
|
||||
# fonction to use : list_logos()
|
||||
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
|
||||
"""
|
||||
# fonction to use find_logo
|
||||
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
|
||||
"""
|
||||
# fonction to use find_logo
|
||||
return error_response(501, message="Not implemented")
|
||||
|
Loading…
Reference in New Issue
Block a user