Skip to content
Snippets Groups Projects
Commit e2ffec1a authored by Emmanuel Viennet's avatar Emmanuel Viennet
Browse files

Améliore log suppressions décisions de jury

parent b2ca3b99
No related branches found
No related tags found
No related merge requests found
...@@ -85,7 +85,7 @@ def _news_delete_jury_etud(etud: Identite, detail: str = ""): ...@@ -85,7 +85,7 @@ def _news_delete_jury_etud(etud: Identite, detail: str = ""):
Scolog.logdb( Scolog.logdb(
"jury_delete_manual", "jury_delete_manual",
etudid=etud.id, etudid=etud.id,
msg=f"Validation {detail} effacée", msg=f"Suppression décision jury {detail}",
commit=True, commit=True,
) )
...@@ -151,11 +151,12 @@ def _validation_ue_delete(etudid: int, validation_id: int): ...@@ -151,11 +151,12 @@ def _validation_ue_delete(etudid: int, validation_id: int):
# Validation non rattachée à un semestre: on doit être chef # Validation non rattachée à un semestre: on doit être chef
return json_error(403, "opération non autorisée (126)") return json_error(403, "opération non autorisée (126)")
detail = f"UE {validation}"
log(f"validation_ue_delete: etuid={etudid} {validation}") log(f"validation_ue_delete: etuid={etudid} {validation}")
db.session.delete(validation) db.session.delete(validation)
sco_cache.invalidate_formsemestre_etud(etud) sco_cache.invalidate_formsemestre_etud(etud)
db.session.commit() db.session.commit()
_news_delete_jury_etud(etud) _news_delete_jury_etud(etud, detail=detail)
return "ok" return "ok"
...@@ -179,11 +180,12 @@ def autorisation_inscription_delete(etudid: int, validation_id: int): ...@@ -179,11 +180,12 @@ def autorisation_inscription_delete(etudid: int, validation_id: int):
validation = ScolarAutorisationInscription.query.filter_by( validation = ScolarAutorisationInscription.query.filter_by(
id=validation_id, etudid=etudid id=validation_id, etudid=etudid
).first_or_404() ).first_or_404()
detail = f"autorisation inscription {validation}"
log(f"autorisation_inscription_delete: etuid={etudid} {validation}") log(f"autorisation_inscription_delete: etuid={etudid} {validation}")
db.session.delete(validation) db.session.delete(validation)
sco_cache.invalidate_formsemestre_etud(etud) sco_cache.invalidate_formsemestre_etud(etud)
db.session.commit() db.session.commit()
_news_delete_jury_etud(etud) _news_delete_jury_etud(etud, detail=detail)
return "ok" return "ok"
...@@ -338,11 +340,12 @@ def validation_rcue_delete(etudid: int, validation_id: int): ...@@ -338,11 +340,12 @@ def validation_rcue_delete(etudid: int, validation_id: int):
validation = ApcValidationRCUE.query.filter_by( validation = ApcValidationRCUE.query.filter_by(
id=validation_id, etudid=etudid id=validation_id, etudid=etudid
).first_or_404() ).first_or_404()
detail = f"RCUE {validation}"
log(f"delete validation_ue_delete: etuid={etudid} {validation}") log(f"delete validation_ue_delete: etuid={etudid} {validation}")
db.session.delete(validation) db.session.delete(validation)
sco_cache.invalidate_formsemestre_etud(etud) sco_cache.invalidate_formsemestre_etud(etud)
db.session.commit() db.session.commit()
_news_delete_jury_etud(etud, detail="UE") _news_delete_jury_etud(etud, detail=detail)
return "ok" return "ok"
...@@ -366,12 +369,12 @@ def validation_annee_but_delete(etudid: int, validation_id: int): ...@@ -366,12 +369,12 @@ def validation_annee_but_delete(etudid: int, validation_id: int):
validation = ApcValidationAnnee.query.filter_by( validation = ApcValidationAnnee.query.filter_by(
id=validation_id, etudid=etudid id=validation_id, etudid=etudid
).first_or_404() ).first_or_404()
ordre = validation.ordre detail = f"{validation}"
log(f"delete validation_annee_but: etuid={etudid} {validation}") log(f"delete validation_annee_but: etuid={etudid} {validation}")
db.session.delete(validation) db.session.delete(validation)
sco_cache.invalidate_formsemestre_etud(etud) sco_cache.invalidate_formsemestre_etud(etud)
db.session.commit() db.session.commit()
_news_delete_jury_etud(etud, detail=f"année BUT{ordre}") _news_delete_jury_etud(etud, detail=detail)
return "ok" return "ok"
...@@ -395,9 +398,10 @@ def validation_dut120_delete(etudid: int, validation_id: int): ...@@ -395,9 +398,10 @@ def validation_dut120_delete(etudid: int, validation_id: int):
validation = ValidationDUT120.query.filter_by( validation = ValidationDUT120.query.filter_by(
id=validation_id, etudid=etudid id=validation_id, etudid=etudid
).first_or_404() ).first_or_404()
detail = f"{validation}"
log(f"delete validation_dut120: etuid={etudid} {validation}") log(f"delete validation_dut120: etuid={etudid} {validation}")
db.session.delete(validation) db.session.delete(validation)
sco_cache.invalidate_formsemestre_etud(etud) sco_cache.invalidate_formsemestre_etud(etud)
db.session.commit() db.session.commit()
_news_delete_jury_etud(etud, detail="diplôme DUT120") _news_delete_jury_etud(etud, detail=detail)
return "ok" return "ok"
# -*- coding: UTF-8 -* # -*- coding: UTF-8 -*
"""Décisions de jury (validations) des RCUE et années du BUT """Décisions de jury (validations) des RCUE et années du BUT"""
"""
from collections import defaultdict from collections import defaultdict
import sqlalchemy as sa import sqlalchemy as sa
...@@ -163,7 +162,8 @@ class ApcValidationAnnee(ScoDocModel): ...@@ -163,7 +162,8 @@ class ApcValidationAnnee(ScoDocModel):
} BUT{self.ordre}/{self.annee_scolaire}:{self.code!r}>""" } BUT{self.ordre}/{self.annee_scolaire}:{self.code!r}>"""
def __str__(self): def __str__(self):
return f"""décision sur année BUT{self.ordre} {self.annee_scolaire} : {self.code}""" return f"""décision sur année BUT{self.ordre} {self.annee_scolaire} : {self.code
} enregistrée le {self.date.strftime(scu.DATE_FMT) if self.date else '?'}"""
def to_dict_bul(self) -> dict: def to_dict_bul(self) -> dict:
"dict pour bulletins" "dict pour bulletins"
...@@ -326,6 +326,11 @@ class ValidationDUT120(ScoDocModel): ...@@ -326,6 +326,11 @@ class ValidationDUT120(ScoDocModel):
def __repr__(self): def __repr__(self):
return f"""<ValidationDUT120 {self.etud}>""" return f"""<ValidationDUT120 {self.etud}>"""
def __str__(self):
return f"""Diplôme de DUT 120 ECTS {
self.formsemestre.formation.referentiel_competence.specialite
} enregistré le {self.date.strftime(scu.DATE_FMT)}"""
def html(self) -> str: def html(self) -> str:
"Affichage html" "Affichage html"
date_str = ( date_str = (
......
# -*- coding: UTF-8 -* # -*- coding: UTF-8 -*
"""Notes, décisions de jury """Notes, décisions de jury"""
"""
from flask_sqlalchemy.query import Query from flask_sqlalchemy.query import Query
from app import db, log, models from app import db, log, models
...@@ -182,6 +181,11 @@ class ScolarAutorisationInscription(models.ScoDocModel): ...@@ -182,6 +181,11 @@ class ScolarAutorisationInscription(models.ScoDocModel):
return f"""{self.__class__.__name__}(id={self.id}, etudid={ return f"""{self.__class__.__name__}(id={self.id}, etudid={
self.etudid}, semestre_id={self.semestre_id})""" self.etudid}, semestre_id={self.semestre_id})"""
def __str__(self) -> str:
return f"""Autorisation de passage vers S{self.semestre_id} émise par {
self.origin_formsemestre.titre_mois() if self.origin_formsemestre else '?'
} le {self.date.strftime(scu.DATE_FMT) if self.date else '?'}"""
def to_dict(self) -> dict: def to_dict(self) -> dict:
"as a dict" "as a dict"
d = dict(self.__dict__) d = dict(self.__dict__)
......
...@@ -1122,24 +1122,36 @@ def formsemestre_validation_suppress_etud(formsemestre_id, etudid): ...@@ -1122,24 +1122,36 @@ def formsemestre_validation_suppress_etud(formsemestre_id, etudid):
""" """
log(f"formsemestre_validation_suppress_etud( {formsemestre_id}, {etudid})") log(f"formsemestre_validation_suppress_etud( {formsemestre_id}, {etudid})")
def log_op(v):
Scolog.logdb(
method="formsemestre_validation_suppress_etud",
etudid=etudid,
msg=f"Suppression décision jury sur {v}",
)
# Validations jury classiques (semestres, UEs, autorisations) # Validations jury classiques (semestres, UEs, autorisations)
for v in ScolarFormSemestreValidation.query.filter_by( for v in ScolarFormSemestreValidation.query.filter_by(
etudid=etudid, formsemestre_id=formsemestre_id etudid=etudid, formsemestre_id=formsemestre_id
): ):
db.session.delete(v) db.session.delete(v)
log_op(v)
for v in ScolarAutorisationInscription.query.filter_by( for v in ScolarAutorisationInscription.query.filter_by(
etudid=etudid, origin_formsemestre_id=formsemestre_id etudid=etudid, origin_formsemestre_id=formsemestre_id
): ):
db.session.delete(v) db.session.delete(v)
log_op(v)
# Validations jury spécifiques BUT # Validations jury spécifiques BUT
for v in ApcValidationRCUE.query.filter_by( for v in ApcValidationRCUE.query.filter_by(
etudid=etudid, formsemestre_id=formsemestre_id etudid=etudid, formsemestre_id=formsemestre_id
): ):
db.session.delete(v) db.session.delete(v)
log_op(v)
for v in ApcValidationAnnee.query.filter_by( for v in ApcValidationAnnee.query.filter_by(
etudid=etudid, formsemestre_id=formsemestre_id etudid=etudid, formsemestre_id=formsemestre_id
): ):
db.session.delete(v) db.session.delete(v)
log_op(v)
db.session.commit() db.session.commit()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment