1
0
forked from ScoDoc/ScoDoc

Assiduites : ajout gestion erreur eval check abs

This commit is contained in:
iziram 2023-09-07 09:17:25 +02:00
parent 9187a12882
commit ee2e2fe5a0

View File

@ -1043,7 +1043,6 @@ def signal_evaluation_abs(etudid: int = None, evaluation_id: int = None):
delta: datetime.timedelta = evaluation.date_fin - evaluation.date_debut delta: datetime.timedelta = evaluation.date_fin - evaluation.date_debut
if delta > datetime.timedelta(days=1): if delta > datetime.timedelta(days=1):
# rediriger vers page saisie # rediriger vers page saisie
flash("Redirection pour saisie abs")
return redirect( return redirect(
url_for( url_for(
"assiduites.signal_assiduites_etud", "assiduites.signal_assiduites_etud",
@ -1059,13 +1058,31 @@ def signal_evaluation_abs(etudid: int = None, evaluation_id: int = None):
# créer l'assiduité # créer l'assiduité
assiduite_unique: Assiduite = Assiduite.create_assiduite( try:
etud=etud, assiduite_unique: Assiduite = Assiduite.create_assiduite(
date_debut=scu.localize_datetime(evaluation.date_debut), etud=etud,
date_fin=scu.localize_datetime(evaluation.date_fin), date_debut=scu.localize_datetime(evaluation.date_debut),
etat=scu.EtatAssiduite.ABSENT, date_fin=scu.localize_datetime(evaluation.date_fin),
moduleimpl=evaluation.moduleimpl, etat=scu.EtatAssiduite.ABSENT,
) moduleimpl=evaluation.moduleimpl,
)
except ScoValueError as see:
msg: str = see.args[0]
if "Duplication" in msg:
msg = "Une autre assiduité concerne déjà cette période. En cliquant sur continuer vous serez redirigé vers la page de saisie des assiduités de l'étudiant."
dest: str = url_for(
"assiduites.signal_assiduites_etud",
etudid=etudid,
evaluation_id=evaluation.id,
date_deb=evaluation.date_debut.strftime("%Y-%m-%dT%H:%M:%S"),
date_fin=evaluation.date_fin.strftime("%Y-%m-%dT%H:%M:%S"),
moduleimpl_id=evaluation.moduleimpl.id,
saisie_eval="true",
scodoc_dept=g.scodoc_dept,
duplication="oui",
)
raise ScoValueError(msg, dest)
db.session.add(assiduite_unique) db.session.add(assiduite_unique)
db.session.commit() db.session.commit()