diff --git a/app/but/jury_but.py b/app/but/jury_but.py
index c1ded7b88..af9b46731 100644
--- a/app/but/jury_but.py
+++ b/app/but/jury_but.py
@@ -75,11 +75,9 @@ from app.comp.res_but import ResultatsSemestreBUT
from app.comp import res_sem
from app.models.but_refcomp import (
- ApcAnneeParcours,
ApcCompetence,
ApcNiveau,
ApcParcours,
- ApcParcoursNiveauCompetence,
)
from app.models import Scolog, ScolarAutorisationInscription
from app.models.but_validations import (
@@ -89,7 +87,7 @@ from app.models.but_validations import (
)
from app.models.etudiants import Identite
from app.models.formations import Formation
-from app.models.formsemestre import FormSemestre, FormSemestreInscription
+from app.models.formsemestre import FormSemestre
from app.models.ues import UniteEns
from app.models.validations import ScolarFormSemestreValidation
from app.scodoc import sco_cache
@@ -473,7 +471,7 @@ class DecisionsProposeesAnnee(DecisionsProposees):
scodoc_dept=g.scodoc_dept,
semestre_idx=formsemestre.semestre_id,
formation_id=formsemestre.formation.id)}">
- {formsemestre.formation.to_html()} ({
+ {formsemestre.formation.html()} ({
formsemestre.formation.id})
@@ -902,7 +900,8 @@ class DecisionsProposeesAnnee(DecisionsProposees):
pour cette année: décisions d'UE, de RCUE, d'année,
et autorisations d'inscription émises.
Efface même si étudiant DEM ou DEF.
- Si à cheval, n'efface que pour le semestre d'origine du deca.
+ Si à cheval ou only_one_sem, n'efface que les décisions UE et les
+ autorisations de passage du semestre d'origine du deca.
(commite la session.)
"""
if only_one_sem or self.a_cheval:
diff --git a/app/but/jury_but_view.py b/app/but/jury_but_view.py
index 0a20e9334..a61f1f14b 100644
--- a/app/but/jury_but_view.py
+++ b/app/but/jury_but_view.py
@@ -246,7 +246,7 @@ def _gen_but_rcue(dec_rcue: DecisionsProposeesRCUE, niveau: ApcNiveau) -> str:
scoplement = (
f"""
Effacer les décisions de jury pour l'année {{annee}} de {{etud.nom_disp()}} ?
+
+
Affectera toutes les décisions concernant l'année {{annee}} de la formation,
+quelle que soit leur origine.
+
+
Les décisions concernées sont:
+
+ {% for validation in validations %}
+
{{ validation.html() | safe}}
+
+ {% endfor %}
+
+
+
+
+{% endif %}
+
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/app/views/notes.py b/app/views/notes.py
index 70990ac60..e29a93c91 100644
--- a/app/views/notes.py
+++ b/app/views/notes.py
@@ -48,9 +48,9 @@ from app.but.forms import jury_but_forms
from app.but import jury_but_pv
from app.but import jury_but_view
-from app.comp import res_sem
+from app.comp import jury, res_sem
from app.comp.res_compat import NotesTableCompat
-from app.models import ScolarAutorisationInscription, ScolarNews, Scolog
+from app.models import Formation, ScolarAutorisationInscription, ScolarNews, Scolog
from app.models.but_refcomp import ApcNiveau, ApcParcours
from app.models.config import ScoDocSiteConfig
from app.models.etudiants import Identite
@@ -2494,7 +2494,19 @@ def formsemestre_validation_but(
erase_span = f"""effacer décisions"""
+ etudid=deca.etud.id)}" class="stdlink"
+ title="efface décisions issues des jurys de cette année"
+ >effacer décisions
+
+ effacer toutes ses décisions de BUT{deca.annee_but}
+ """
H.append(
f"""
@@ -2815,15 +2827,15 @@ def formsemestre_saisie_jury(formsemestre_id: int, selected_etudid: int = None):
)
@scodoc
@permission_required(Permission.ScoView)
-def formsemestre_jury_but_erase(
- formsemestre_id: int, etudid: int = None, only_one_sem=False
-):
+def formsemestre_jury_but_erase(formsemestre_id: int, etudid: int = None):
"""Supprime la décision de jury BUT pour cette année.
- Si only_one_sem, n'efface que pour le formsemestre indiqué, pas les deux de l'année.
Si l'étudiant n'est pas spécifié, efface les décisions de tous les inscrits.
+ Si only_one_sem, n'efface que pour le formsemestre indiqué, pas les deux de l'année.
"""
only_one_sem = int(request.args.get("only_one_sem") or False)
- formsemestre: FormSemestre = FormSemestre.query.get_or_404(formsemestre_id)
+ formsemestre: FormSemestre = FormSemestre.query.filter_by(
+ id=formsemestre_id, dept_id=g.scodoc_dept_id
+ ).first_or_404()
if not formsemestre.can_edit_jury():
raise ScoPermissionDenied(
dest_url=url_for(
@@ -2881,14 +2893,53 @@ def formsemestre_jury_but_erase(
if only_one_sem
else """Les validations de toutes les UE, RCUE (compétences) et année
issues de cette année scolaire seront effacées.
- Les décisions des années scolaires précédentes ne seront pas modifiées.
"""
)
- + """
Cette opération est irréversible !
""",
+ + """
+
Les décisions des années scolaires précédentes ne seront pas modifiées.