forked from ScoDoc/ScoDoc
removed useless formsemestre_fix_validation_ues
This commit is contained in:
parent
069f996168
commit
ac438b3c6a
@ -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))
|
||||
|
@ -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(
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user