1
0
forked from ScoDoc/ScoDoc

removed useless formsemestre_fix_validation_ues

This commit is contained in:
Emmanuel Viennet 2021-07-13 14:55:53 +02:00
parent 069f996168
commit ac438b3c6a
3 changed files with 2 additions and 117 deletions

View File

@ -952,100 +952,6 @@ def do_formsemestre_validation_auto(context, formsemestre_id, REQUEST):
return "\n".join(H)
def formsemestre_fix_validation_ues(context, formsemestre_id, REQUEST=None):
"""
Suite à un bug (fix svn 502, 26 juin 2008), les UE sans notes ont parfois été validées
avec un code ADM (au lieu de AJ ou ADC, suivant le code semestre).
Cette fonction vérifie les codes d'UE et les modifie si nécessaire.
Si semestre validé: decision UE == CMP ou ADM
Sinon: si moy UE > barre et assiduité au semestre: ADM, sinon AJ
N'affecte que le semestre indiqué, pas les précédents.
"""
sem = sco_formsemestre.get_formsemestre(context, formsemestre_id)
nt = sco_core.get_notes_cache(context).get_NotesTable(
context, formsemestre_id
) # > get_etudids, get_etud_decision_sem, get_ues, get_etud_decision_ues, get_etud_ue_status
etudids = nt.get_etudids()
modifs = [] # liste d'étudiants modifiés
cnx = ndb.GetDBConnexion(autocommit=False)
for etudid in etudids:
etud = sco_etud.get_etud_info(etudid=etudid, filled=True)[0]
Se = sco_parcours_dut.SituationEtudParcours(context, etud, formsemestre_id)
ins = sco_formsemestre_inscriptions.do_formsemestre_inscription_list(
context, {"etudid": etudid, "formsemestre_id": formsemestre_id}
)[0]
decision_sem = nt.get_etud_decision_sem(etudid)
if not decision_sem:
continue # pas encore de decision semestre
valid_semestre = CODES_SEM_VALIDES.get(decision_sem["code"], False)
ue_ids = [x["ue_id"] for x in nt.get_ues(etudid=etudid, filter_sport=True)]
for ue_id in ue_ids:
existing_code = nt.get_etud_decision_ues(etudid)[ue_id]["code"]
if existing_code == None:
continue # pas encore de decision UE
ue_status = nt.get_etud_ue_status(etudid, ue_id)
moy_ue = ue_status["moy"]
if valid_semestre:
if (
isinstance(moy_ue, float)
and ue_status["moy"] >= nt.parcours.NOTES_BARRE_VALID_UE
):
code_ue = ADM
else:
code_ue = CMP
else:
if not decision_sem["assidu"]:
code_ue = AJ
elif (
isinstance(moy_ue, float)
and ue_status["moy"] >= nt.parcours.NOTES_BARRE_VALID_UE
):
code_ue = ADM
else:
code_ue = AJ
if code_ue != existing_code:
msg = "%s: %s: code %s changé en %s" % (
etud["nomprenom"],
ue_id,
existing_code,
code_ue,
)
modifs.append(msg)
log(msg)
sco_parcours_dut.do_formsemestre_validate_ue(
cnx, nt, formsemestre_id, etudid, ue_id, code_ue
)
cnx.commit()
#
H = [
html_sco_header.sco_header(
context, REQUEST, page_title="Réparation des codes UE"
),
sco_formsemestre_status.formsemestre_status_head(
context, REQUEST=REQUEST, formsemestre_id=formsemestre_id
),
]
if modifs:
H = H + [
"<h2>Modifications des codes UE</h2>",
"<ul><li>",
"</li><li>".join(modifs),
"</li></ul>",
]
sco_core.inval_cache(
context, formsemestre_id=formsemestre_id
) # > modif decision UE
else:
H.append("<h2>Aucune modification: codes UE corrects ou inexistants</h2>")
H.append(html_sco_header.sco_footer(context, REQUEST))
return "\n".join(H)
def formsemestre_validation_suppress_etud(context, formsemestre_id, etudid):
"""Suppression des decisions de jury pour un etudiant."""
log("formsemestre_validation_suppress_etud( %s, %s)" % (formsemestre_id, etudid))

View File

@ -179,10 +179,8 @@ def formsemestre_recapcomplet(
H.append("<p>")
if modejury:
H.append(
"""<a class="stdlink" href="formsemestre_validation_auto?formsemestre_id=%s">Calcul automatique des décisions du jury</a></p><p><a class="stdlink" href="formsemestre_fix_validation_ues?formsemestre_id=%s">Vérification décisions UE</a>
<span style="font-size: 75%%;">(corrige incohérences éventuelles introduites avant juin 2008)<span>
</p>"""
% (formsemestre_id, formsemestre_id)
"""<a class="stdlink" href="formsemestre_validation_auto?formsemestre_id=%s">Calcul automatique des décisions du jury</a></p>"""
% (formsemestre_id,)
)
else:
H.append(

View File

@ -2153,25 +2153,6 @@ def do_formsemestre_validation_auto(context, formsemestre_id, REQUEST):
)
@bp.route("/formsemestre_fix_validation_ues")
@permission_required(Permission.ScoView)
@scodoc7func(context)
def formsemestre_fix_validation_ues(context, formsemestre_id, REQUEST=None):
"Verif/reparation codes UE"
if not sco_permissions_check.can_validate_sem(context, REQUEST, formsemestre_id):
return scu.confirm_dialog(
context,
message="<p>Opération non autorisée pour %s</h2>"
% REQUEST.AUTHENTICATED_USER,
dest_url=scu.ScoURL(),
REQUEST=REQUEST,
)
return sco_formsemestre_validation.formsemestre_fix_validation_ues(
context, formsemestre_id, REQUEST
)
@bp.route("/formsemestre_validation_suppress_etud", methods=["GET", "POST"])
@permission_required(Permission.ScoView)
@scodoc7func(context)