Corrige annulation dispense d'UE APC
This commit is contained in:
parent
3e510fd9d4
commit
466b6fc3ae
@ -263,7 +263,9 @@ def formsemestre_status_menubar(formsemestre: FormSemestre) -> str:
|
||||
|
||||
menu_inscriptions = [
|
||||
{
|
||||
"title": "Voir les inscriptions aux modules",
|
||||
"title": "Gérer les inscriptions aux UE et modules"
|
||||
if formsemestre.formation.is_apc()
|
||||
else "Gérer les inscriptions aux modules",
|
||||
"endpoint": "notes.moduleimpl_inscriptions_stats",
|
||||
"args": {"formsemestre_id": formsemestre_id},
|
||||
}
|
||||
|
@ -277,7 +277,7 @@ def do_moduleimpl_inscription_create(args, formsemestre_id=None):
|
||||
except psycopg2.errors.UniqueViolation as exc:
|
||||
raise ScoValueError(
|
||||
"Inscription impossible car déjà existante: vérifiez la situation"
|
||||
)
|
||||
) from exc
|
||||
sco_cache.invalidate_formsemestre(
|
||||
formsemestre_id=formsemestre_id
|
||||
) # > moduleimpl_inscription
|
||||
|
@ -1620,12 +1620,29 @@ def etud_desinscrit_ue(etudid, formsemestre_id, ue_id):
|
||||
@permission_required(Permission.ScoEtudInscrit)
|
||||
@scodoc7func
|
||||
def etud_inscrit_ue(etudid, formsemestre_id, ue_id):
|
||||
"""Inscrit l'etudiant de tous les modules de cette UE dans ce semestre."""
|
||||
sco_moduleimpl_inscriptions.do_etud_inscrit_ue(etudid, formsemestre_id, ue_id)
|
||||
"""
|
||||
En classic: inscrit l'étudiant à tous les modules de cette UE dans ce semestre.
|
||||
En APC: enlève la dispense de cette UE s'il y en a une.
|
||||
"""
|
||||
formsemestre = FormSemestre.query.filter_by(
|
||||
id=formsemestre_id, dept_id=g.scodoc_dept_id
|
||||
).first_or_404()
|
||||
etud = Identite.query.get_or_404(etudid)
|
||||
ue = UniteEns.query.get_or_404(ue_id)
|
||||
if ue.formation.is_apc():
|
||||
for disp in DispenseUE.query.filter_by(etudid=etud.id, ue_id=ue_id):
|
||||
db.session.delete(disp)
|
||||
db.session.commit()
|
||||
sco_cache.invalidate_formsemestre(formsemestre_id=formsemestre.id)
|
||||
else:
|
||||
# Formations classiques: joue sur les inscriptions aux modules
|
||||
sco_moduleimpl_inscriptions.do_etud_inscrit_ue(etud.id, formsemestre_id, ue_id)
|
||||
return flask.redirect(
|
||||
scu.ScoURL()
|
||||
+ "/Notes/moduleimpl_inscriptions_stats?formsemestre_id="
|
||||
+ str(formsemestre_id)
|
||||
url_for(
|
||||
"notes.moduleimpl_inscriptions_stats",
|
||||
scodoc_dept=g.scodoc_dept,
|
||||
formsemestre_id=formsemestre_id,
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user