Modifie effacement décisions annuelles BUT et RCUE. Améliore affichage décisions
This commit is contained in:
parent
c928ccdcfe
commit
7712de19a2
@ -902,6 +902,8 @@ class DecisionsProposeesAnnee(DecisionsProposees):
|
|||||||
Efface même si étudiant DEM ou DEF.
|
Efface même si étudiant DEM ou DEF.
|
||||||
Si à cheval ou only_one_sem, n'efface que les décisions UE et les
|
Si à cheval ou only_one_sem, n'efface que les décisions UE et les
|
||||||
autorisations de passage du semestre d'origine du deca.
|
autorisations de passage du semestre d'origine du deca.
|
||||||
|
|
||||||
|
Dans tous les cas, efface les validations de l'année en cours.
|
||||||
(commite la session.)
|
(commite la session.)
|
||||||
"""
|
"""
|
||||||
if only_one_sem or self.a_cheval:
|
if only_one_sem or self.a_cheval:
|
||||||
@ -916,8 +918,7 @@ class DecisionsProposeesAnnee(DecisionsProposees):
|
|||||||
else:
|
else:
|
||||||
for dec_ue in self.decisions_ues.values():
|
for dec_ue in self.decisions_ues.values():
|
||||||
dec_ue.erase()
|
dec_ue.erase()
|
||||||
for dec_rcue in self.decisions_rcue_by_niveau.values():
|
|
||||||
dec_rcue.erase()
|
|
||||||
if self.formsemestre_impair:
|
if self.formsemestre_impair:
|
||||||
ScolarAutorisationInscription.delete_autorisation_etud(
|
ScolarAutorisationInscription.delete_autorisation_etud(
|
||||||
self.etud.id, self.formsemestre_impair.id
|
self.etud.id, self.formsemestre_impair.id
|
||||||
@ -926,21 +927,27 @@ class DecisionsProposeesAnnee(DecisionsProposees):
|
|||||||
ScolarAutorisationInscription.delete_autorisation_etud(
|
ScolarAutorisationInscription.delete_autorisation_etud(
|
||||||
self.etud.id, self.formsemestre_pair.id
|
self.etud.id, self.formsemestre_pair.id
|
||||||
)
|
)
|
||||||
validations = ApcValidationAnnee.query.filter_by(
|
# Efface les RCUEs
|
||||||
|
for dec_rcue in self.decisions_rcue_by_niveau.values():
|
||||||
|
dec_rcue.erase()
|
||||||
|
|
||||||
|
# Efface les validations concernant l'année BUT
|
||||||
|
# de ce semestre
|
||||||
|
validations = (
|
||||||
|
ApcValidationAnnee.query.filter_by(
|
||||||
etudid=self.etud.id,
|
etudid=self.etud.id,
|
||||||
# XXX efface les validations émise depuis ce semestre
|
|
||||||
# et pas toutes celles concernant cette l'année...
|
|
||||||
# (utiliser formation_id pour changer cette politique)
|
|
||||||
formsemestre_id=self.formsemestre.id,
|
|
||||||
ordre=self.annee_but,
|
ordre=self.annee_but,
|
||||||
)
|
)
|
||||||
for validation in validations:
|
.join(Formation)
|
||||||
db.session.delete(validation)
|
.filter_by(formation_code=self.formsemestre.formation.formation_code)
|
||||||
Scolog.logdb(
|
)
|
||||||
"jury_but",
|
for validation in validations:
|
||||||
etudid=self.etud.id,
|
db.session.delete(validation)
|
||||||
msg=f"Validation année BUT{self.annee_but}: effacée",
|
Scolog.logdb(
|
||||||
)
|
"jury_but",
|
||||||
|
etudid=self.etud.id,
|
||||||
|
msg=f"Validation année BUT{self.annee_but}: effacée",
|
||||||
|
)
|
||||||
|
|
||||||
# Efface éventuelles validations de semestre
|
# Efface éventuelles validations de semestre
|
||||||
# (en principe inutilisées en BUT)
|
# (en principe inutilisées en BUT)
|
||||||
|
@ -79,17 +79,23 @@ class ScolarFormSemestreValidation(db.Model):
|
|||||||
def html(self, detail=False) -> str:
|
def html(self, detail=False) -> str:
|
||||||
"Affichage html"
|
"Affichage html"
|
||||||
if self.ue_id is not None:
|
if self.ue_id is not None:
|
||||||
return f"""Validation de l'UE {self.ue.acronyme} de {self.ue.formation.acronyme}
|
return f"""Validation de l'UE <b>{self.ue.acronyme}</b>
|
||||||
|
{('parcours <span class="parcours">'
|
||||||
|
+ ", ".join([p.code for p in self.ue.parcours]))
|
||||||
|
+ "</span>"
|
||||||
|
if self.ue.parcours else ""}
|
||||||
|
de {self.ue.formation.acronyme}
|
||||||
{("émise par " + self.formsemestre.html_link_status())
|
{("émise par " + self.formsemestre.html_link_status())
|
||||||
if self.formsemestre else ""}
|
if self.formsemestre else ""}
|
||||||
:<b>{self.code}</b>
|
: <b>{self.code}</b>
|
||||||
le {self.event_date.strftime("%d/%m/%Y")} à {self.event_date.strftime("%Hh%M")}
|
le {self.event_date.strftime("%d/%m/%Y")} à {self.event_date.strftime("%Hh%M")}
|
||||||
"""
|
"""
|
||||||
else:
|
else:
|
||||||
return f"""Validation du semestre S{
|
return f"""Validation du semestre S{
|
||||||
self.formsemestre.semestre_id if self.formsemestre else "?"}
|
self.formsemestre.semestre_id if self.formsemestre else "?"}
|
||||||
(<b>{self.code}</b>
|
{self.formsemestre.html_link_status() if self.formsemestre else ""}
|
||||||
le {self.event_date.strftime("%d/%m/%Y")} à {self.event_date.strftime("%Hh%M")})
|
: <b>{self.code}</b>
|
||||||
|
le {self.event_date.strftime("%d/%m/%Y")} à {self.event_date.strftime("%Hh%M")}
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
@ -6,4 +6,8 @@ div.jury_decisions_list div {
|
|||||||
|
|
||||||
div.jury_decisions_list form {
|
div.jury_decisions_list form {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
span.parcours {
|
||||||
|
color:blueviolet;
|
||||||
|
}
|
||||||
|
@ -26,9 +26,13 @@
|
|||||||
En conséquence, saisir ensuite <b>manuellement les décisions manquantes</b>,
|
En conséquence, saisir ensuite <b>manuellement les décisions manquantes</b>,
|
||||||
notamment sur les UEs en dessous de 10.
|
notamment sur les UEs en dessous de 10.
|
||||||
</p>
|
</p>
|
||||||
<p class="warning">
|
<div class="warning">
|
||||||
Il est nécessaire de relire soigneusement les décisions à l'issue de cette procédure !
|
<ul>
|
||||||
</p>
|
<li>Ne jamais lancer ce calcul avant que toutes les notes ne soient saisies !
|
||||||
|
(verrouiller le semestre ensuite)
|
||||||
|
</li>
|
||||||
|
<li>Il est nécessaire de relire soigneusement les décisions à l'issue de cette procédure !</li>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
@ -2898,7 +2898,12 @@ def formsemestre_jury_but_erase(formsemestre_id: int, etudid: int = None):
|
|||||||
)
|
)
|
||||||
+ """
|
+ """
|
||||||
<p>Les décisions des années scolaires précédentes ne seront pas modifiées.</p>
|
<p>Les décisions des années scolaires précédentes ne seront pas modifiées.</p>
|
||||||
<div class="warning">Cette opération est irréversible !</div>
|
<p>Efface aussi toutes les validations concernant l'année BUT de ce semestre,
|
||||||
|
même si elles ont été acquises ailleurs.
|
||||||
|
</p>
|
||||||
|
<div class="warning">Cette opération est irréversible !
|
||||||
|
A n'utiliser que dans des cas exceptionnels, vérifiez bien tous les étudiants ensuite.
|
||||||
|
</div>
|
||||||
""",
|
""",
|
||||||
cancel_url=dest_url,
|
cancel_url=dest_url,
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user