diff --git a/app/scodoc/sco_formsemestre_validation.py b/app/scodoc/sco_formsemestre_validation.py index b75ae1cb..f128b56f 100644 --- a/app/scodoc/sco_formsemestre_validation.py +++ b/app/scodoc/sco_formsemestre_validation.py @@ -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 + [ - "
") if modejury: H.append( - """Calcul automatique des décisions du jury
Vérification décisions UE -(corrige incohérences éventuelles introduites avant juin 2008) -
""" - % (formsemestre_id, formsemestre_id) + """Calcul automatique des décisions du jury""" + % (formsemestre_id,) ) else: H.append( diff --git a/app/views/notes.py b/app/views/notes.py index 470fb417..2067981d 100644 --- a/app/views/notes.py +++ b/app/views/notes.py @@ -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="Opération non autorisée pour %s" - % 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)