diff --git a/app/api/jury.py b/app/api/jury.py index 2800c77a..7de6cdef 100644 --- a/app/api/jury.py +++ b/app/api/jury.py @@ -5,9 +5,10 @@ ############################################################################## """ - ScoDoc 9 API : jury WIP + ScoDoc 9 API : jury WIP à compléter avec enregistrement décisions """ +from flask import g, url_for from flask_json import as_json from flask_login import login_required @@ -24,6 +25,7 @@ from app.models import ( Identite, ScolarAutorisationInscription, ScolarFormSemestreValidation, + ScolarNews, ) from app.scodoc import sco_cache from app.scodoc.sco_permissions import Permission @@ -47,6 +49,20 @@ def decisions_jury(formsemestre_id: int): raise ScoException("non implemente") +def _news_delete_jury_etud(etud: Identite): + "génère news sur effacement décision" + # n'utilise pas g.scodoc_dept, pas toujours dispo en mode API + url = url_for( + "scolar.ficheEtud", scodoc_dept=etud.departement.acronym, etudid=etud.id + ) + ScolarNews.add( + typ=ScolarNews.NEWS_JURY, + obj=etud.id, + text=f"""Suppression décision jury pour {etud.nomprenom}""", + url=url, + ) + + @bp.route( "/etudiant//jury/validation_ue//delete", methods=["POST"], @@ -94,6 +110,7 @@ def _validation_ue_delete(etudid: int, validation_id: int): db.session.delete(validation) sco_cache.invalidate_formsemestre_etud(etud) db.session.commit() + _news_delete_jury_etud(etud) return "ok" @@ -121,6 +138,7 @@ def autorisation_inscription_delete(etudid: int, validation_id: int): db.session.delete(validation) sco_cache.invalidate_formsemestre_etud(etud) db.session.commit() + _news_delete_jury_etud(etud) return "ok" @@ -148,6 +166,7 @@ def validation_rcue_delete(etudid: int, validation_id: int): db.session.delete(validation) sco_cache.invalidate_formsemestre_etud(etud) db.session.commit() + _news_delete_jury_etud(etud) return "ok" @@ -175,4 +194,5 @@ def validation_annee_but_delete(etudid: int, validation_id: int): db.session.delete(validation) sco_cache.invalidate_formsemestre_etud(etud) db.session.commit() + _news_delete_jury_etud(etud) return "ok" diff --git a/app/but/jury_but.py b/app/but/jury_but.py index d9f8031a..1a5c1a4c 100644 --- a/app/but/jury_but.py +++ b/app/but/jury_but.py @@ -459,10 +459,7 @@ class DecisionsProposeesAnnee(DecisionsProposees): """informations, for debugging purpose.""" text = f"""DecisionsProposeesAnnee