From 54ed09ed083791076c23c31c33345d67fcb06d36 Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Sun, 17 Oct 2021 23:19:26 +0200 Subject: [PATCH] renomme: ue_list, matiere_list --- app/scodoc/bonus_sport.py | 3 +- app/scodoc/notes_table.py | 12 +++---- app/scodoc/sco_bulletins_json.py | 2 +- app/scodoc/sco_bulletins_xml.py | 2 +- app/scodoc/sco_edit_formation.py | 12 +++---- app/scodoc/sco_edit_matiere.py | 30 ++++++++-------- app/scodoc/sco_edit_module.py | 14 ++++---- app/scodoc/sco_edit_ue.py | 42 +++++++++++------------ app/scodoc/sco_evaluations.py | 2 +- app/scodoc/sco_formations.py | 6 ++-- app/scodoc/sco_formsemestre_edit.py | 4 +-- app/scodoc/sco_formsemestre_exterieurs.py | 2 +- app/scodoc/sco_formsemestre_status.py | 6 ++-- app/scodoc/sco_formsemestre_validation.py | 4 +-- app/scodoc/sco_moduleimpl.py | 4 +-- app/scodoc/sco_moduleimpl_inscriptions.py | 2 +- app/scodoc/sco_pvjury.py | 2 +- app/scodoc/sco_ue_external.py | 4 +-- app/views/notes.py | 16 ++++----- tests/unit/sco_fake_gen.py | 4 +-- tests/unit/test_formations.py | 12 +++---- 21 files changed, 91 insertions(+), 94 deletions(-) diff --git a/app/scodoc/bonus_sport.py b/app/scodoc/bonus_sport.py index 51762b4ce..4a3f8abae 100644 --- a/app/scodoc/bonus_sport.py +++ b/app/scodoc/bonus_sport.py @@ -194,7 +194,8 @@ def bonus_tours(notes_sport, coefs, infos=None): def bonus_iutr(notes_sport, coefs, infos=None): - """Calcul du bonus , regle de l'IUT de Roanne (contribuée par Raphael C., nov 2012) + """Calcul du bonus , règle de l'IUT de Roanne + (contribuée par Raphael C., nov 2012) Le bonus est compris entre 0 et 0.35 point. cette procédure modifie la moyenne de chaque UE capitalisable. diff --git a/app/scodoc/notes_table.py b/app/scodoc/notes_table.py index 136a2d89e..fb18d050d 100644 --- a/app/scodoc/notes_table.py +++ b/app/scodoc/notes_table.py @@ -108,7 +108,7 @@ def get_sem_ues_modimpls(formsemestre_id, modimpls=None): mod = sco_edit_module.module_list(args={"module_id": modimpl["module_id"]})[0] modimpl["module"] = mod if not mod["ue_id"] in uedict: - ue = sco_edit_ue.do_ue_list(args={"ue_id": mod["ue_id"]})[0] + ue = sco_edit_ue.ue_list(args={"ue_id": mod["ue_id"]})[0] uedict[ue["ue_id"]] = ue ues = list(uedict.values()) ues.sort(key=lambda u: u["numero"]) @@ -224,15 +224,15 @@ class NotesTable(object): # module has been added by formsemestre_compute_modimpls_moyennes mod = modimpl["module"] if not mod["ue_id"] in uedict: - ue = sco_edit_ue.do_ue_list(args={"ue_id": mod["ue_id"]})[0] + ue = sco_edit_ue.ue_list(args={"ue_id": mod["ue_id"]})[0] uedict[ue["ue_id"]] = ue else: ue = uedict[mod["ue_id"]] modimpl["ue"] = ue # add ue dict to moduleimpl self._matmoys[mod["matiere_id"]] = {} - mat = sco_edit_matiere.do_matiere_list( - args={"matiere_id": mod["matiere_id"]} - )[0] + mat = sco_edit_matiere.matiere_list(args={"matiere_id": mod["matiere_id"]})[ + 0 + ] modimpl["mat"] = mat # add matiere dict to moduleimpl # calcul moyennes du module et stocke dans le module # nb_inscrits, nb_notes, nb_abs, nb_neutre, moy, median, last_modif= @@ -1053,7 +1053,7 @@ class NotesTable(object): "Warning: %s capitalized an UE %s which is not part of current sem %s" % (etudid, ue_id, self.formsemestre_id) ) - ue = sco_edit_ue.do_ue_list(args={"ue_id": ue_id})[0] + ue = sco_edit_ue.ue_list(args={"ue_id": ue_id})[0] self.uedict[ue_id] = ue # record this UE if ue_id not in self._uecoef: cl = formsemestre_uecoef_list( diff --git a/app/scodoc/sco_bulletins_json.py b/app/scodoc/sco_bulletins_json.py index 160fc30d5..4bcf839e1 100644 --- a/app/scodoc/sco_bulletins_json.py +++ b/app/scodoc/sco_bulletins_json.py @@ -360,7 +360,7 @@ def formsemestre_bulletinetud_published_dict( "decisions_ue" ]: # and sco_preferences.get_preference( 'bul_show_uevalid', formsemestre_id): always publish (car utile pour export Apogee) for ue_id in decision["decisions_ue"].keys(): - ue = sco_edit_ue.do_ue_list({"ue_id": ue_id})[0] + ue = sco_edit_ue.ue_list({"ue_id": ue_id})[0] d["decision_ue"].append( dict( ue_id=ue["ue_id"], diff --git a/app/scodoc/sco_bulletins_xml.py b/app/scodoc/sco_bulletins_xml.py index bd20c7a1e..efdbe8c08 100644 --- a/app/scodoc/sco_bulletins_xml.py +++ b/app/scodoc/sco_bulletins_xml.py @@ -385,7 +385,7 @@ def make_xml_formsemestre_bulletinetud( "decisions_ue" ]: # and sco_preferences.get_preference( 'bul_show_uevalid', formsemestre_id): always publish (car utile pour export Apogee) for ue_id in decision["decisions_ue"].keys(): - ue = sco_edit_ue.do_ue_list({"ue_id": ue_id})[0] + ue = sco_edit_ue.ue_list({"ue_id": ue_id})[0] doc.append( Element( "decision_ue", diff --git a/app/scodoc/sco_edit_formation.py b/app/scodoc/sco_edit_formation.py index 362f2312a..7d2e7e726 100644 --- a/app/scodoc/sco_edit_formation.py +++ b/app/scodoc/sco_edit_formation.py @@ -104,7 +104,7 @@ def do_formation_delete(oid): raise ScoLockedFormError() cnx = ndb.GetDBConnexion() # delete all UE in this formation - ues = sco_edit_ue.do_ue_list({"formation_id": oid}) + ues = sco_edit_ue.ue_list({"formation_id": oid}) for ue in ues: sco_edit_ue.do_ue_delete(ue["ue_id"], force=True) @@ -252,7 +252,7 @@ def formation_edit(formation_id=None, create=False): do_formation_edit(tf[2]) return flask.redirect( url_for( - "notes.ue_list", scodoc_dept=g.scodoc_dept, formation_id=formation_id + "notes.ue_table", scodoc_dept=g.scodoc_dept, formation_id=formation_id ) ) @@ -343,21 +343,21 @@ def module_move(module_id, after=0, redirect=1): if redirect: return flask.redirect( url_for( - "notes.ue_list", scodoc_dept=g.scodoc_dept, formation_id=formation_id + "notes.ue_table", scodoc_dept=g.scodoc_dept, formation_id=formation_id ) ) def ue_move(ue_id, after=0, redirect=1): """Move UE before/after previous one (decrement/increment numero)""" - o = sco_edit_ue.do_ue_list({"ue_id": ue_id})[0] + o = sco_edit_ue.ue_list({"ue_id": ue_id})[0] # log('ue_move %s (#%s) after=%s' % (ue_id, o['numero'], after)) redirect = int(redirect) after = int(after) # 0: deplace avant, 1 deplace apres if after not in (0, 1): raise ValueError('invalid value for "after"') formation_id = o["formation_id"] - others = sco_edit_ue.do_ue_list({"formation_id": formation_id}) + others = sco_edit_ue.ue_list({"formation_id": formation_id}) if len(others) > 1: idx = [p["ue_id"] for p in others].index(ue_id) neigh = None # object to swap with @@ -378,7 +378,7 @@ def ue_move(ue_id, after=0, redirect=1): if redirect: return flask.redirect( url_for( - "notes.ue_list", + "notes.ue_table", scodoc_dept=g.scodoc_dept, formation_id=o["formation_id"], ) diff --git a/app/scodoc/sco_edit_matiere.py b/app/scodoc/sco_edit_matiere.py index 13311e9b6..1cbd199d3 100644 --- a/app/scodoc/sco_edit_matiere.py +++ b/app/scodoc/sco_edit_matiere.py @@ -47,7 +47,7 @@ _matiereEditor = ndb.EditableTable( ) -def do_matiere_list(*args, **kw): +def matiere_list(*args, **kw): "list matieres" cnx = ndb.GetDBConnexion() return _matiereEditor.list(cnx, *args, **kw) @@ -60,12 +60,12 @@ def do_matiere_edit(*args, **kw): cnx = ndb.GetDBConnexion() # check - mat = do_matiere_list({"matiere_id": args[0]["matiere_id"]})[0] + mat = matiere_list({"matiere_id": args[0]["matiere_id"]})[0] if matiere_is_locked(mat["matiere_id"]): raise ScoLockedFormError() # edit _matiereEditor.edit(cnx, *args, **kw) - formation_id = sco_edit_ue.do_ue_list({"ue_id": mat["ue_id"]})[0]["formation_id"] + formation_id = sco_edit_ue.ue_list({"ue_id": mat["ue_id"]})[0]["formation_id"] sco_edit_formation.invalidate_sems_in_formation(formation_id) @@ -77,7 +77,7 @@ def do_matiere_create(args): cnx = ndb.GetDBConnexion() # check - ue = sco_edit_ue.do_ue_list({"ue_id": args["ue_id"]})[0] + ue = sco_edit_ue.ue_list({"ue_id": args["ue_id"]})[0] # create matiere r = _matiereEditor.create(cnx, args) @@ -96,7 +96,7 @@ def matiere_create(ue_id=None): """Creation d'une matiere""" from app.scodoc import sco_edit_ue - UE = sco_edit_ue.do_ue_list(args={"ue_id": ue_id})[0] + UE = sco_edit_ue.ue_list(args={"ue_id": ue_id})[0] H = [ html_sco_header.sco_header(page_title="Création d'une matière"), """

Création d'une matière dans l'UE %(titre)s (%(acronyme)s)

""" % UE, @@ -134,7 +134,7 @@ associé. ) dest_url = url_for( - "notes.ue_list", scodoc_dept=g.scodoc_dept, formation_id=UE["formation_id"] + "notes.ue_table", scodoc_dept=g.scodoc_dept, formation_id=UE["formation_id"] ) if tf[0] == 0: @@ -143,7 +143,7 @@ associé. return flask.redirect(dest_url) else: # check unicity - mats = do_matiere_list(args={"ue_id": ue_id, "titre": tf[2]["titre"]}) + mats = matiere_list(args={"ue_id": ue_id, "titre": tf[2]["titre"]}) if mats: return ( "\n".join(H) @@ -164,8 +164,8 @@ def do_matiere_delete(oid): cnx = ndb.GetDBConnexion() # check - mat = do_matiere_list({"matiere_id": oid})[0] - ue = sco_edit_ue.do_ue_list({"ue_id": mat["ue_id"]})[0] + mat = matiere_list({"matiere_id": oid})[0] + ue = sco_edit_ue.ue_list({"ue_id": mat["ue_id"]})[0] locked = matiere_is_locked(mat["matiere_id"]) if locked: log("do_matiere_delete: mat=%s" % mat) @@ -193,8 +193,8 @@ def matiere_delete(matiere_id=None): """Delete an UE""" from app.scodoc import sco_edit_ue - M = do_matiere_list(args={"matiere_id": matiere_id})[0] - UE = sco_edit_ue.do_ue_list(args={"ue_id": M["ue_id"]})[0] + M = matiere_list(args={"matiere_id": matiere_id})[0] + UE = sco_edit_ue.ue_list(args={"ue_id": M["ue_id"]})[0] H = [ html_sco_header.sco_header(page_title="Suppression d'une matière"), "

Suppression de la matière %(titre)s" % M, @@ -223,17 +223,17 @@ def matiere_edit(matiere_id=None): from app.scodoc import sco_formations from app.scodoc import sco_edit_ue - F = do_matiere_list(args={"matiere_id": matiere_id}) + F = matiere_list(args={"matiere_id": matiere_id}) if not F: raise ScoValueError("Matière inexistante !") F = F[0] - U = sco_edit_ue.do_ue_list(args={"ue_id": F["ue_id"]}) + U = sco_edit_ue.ue_list(args={"ue_id": F["ue_id"]}) if not F: raise ScoValueError("UE inexistante !") U = U[0] Fo = sco_formations.formation_list(args={"formation_id": U["formation_id"]})[0] - ues = sco_edit_ue.do_ue_list(args={"formation_id": U["formation_id"]}) + ues = sco_edit_ue.ue_list(args={"formation_id": U["formation_id"]}) ue_names = ["%(acronyme)s (%(titre)s)" % u for u in ues] ue_ids = [u["ue_id"] for u in ues] H = [ @@ -286,7 +286,7 @@ associé. return flask.redirect(dest_url) else: # check unicity - mats = do_matiere_list(args={"ue_id": tf[2]["ue_id"], "titre": tf[2]["titre"]}) + mats = matiere_list(args={"ue_id": tf[2]["ue_id"], "titre": tf[2]["titre"]}) if len(mats) > 1 or (len(mats) == 1 and mats[0]["matiere_id"] != matiere_id): return ( "\n".join(H) diff --git a/app/scodoc/sco_edit_module.py b/app/scodoc/sco_edit_module.py index 51c5cef19..a23ddf8c8 100644 --- a/app/scodoc/sco_edit_module.py +++ b/app/scodoc/sco_edit_module.py @@ -126,8 +126,8 @@ def module_create(matiere_id=None): if matiere_id is None: raise ScoValueError("invalid matiere !") - M = sco_edit_matiere.do_matiere_list(args={"matiere_id": matiere_id})[0] - UE = sco_edit_ue.do_ue_list(args={"ue_id": M["ue_id"]})[0] + M = sco_edit_matiere.matiere_list(args={"matiere_id": matiere_id})[0] + UE = sco_edit_ue.ue_list(args={"ue_id": M["ue_id"]})[0] Fo = sco_formations.formation_list(args={"formation_id": UE["formation_id"]})[0] parcours = sco_codes_parcours.get_parcours_from_code(Fo["type_parcours"]) semestres_indices = list(range(1, parcours.NB_SEM + 1)) @@ -241,7 +241,7 @@ def module_create(matiere_id=None): do_module_create(tf[2]) return flask.redirect( url_for( - "notes.ue_list", + "notes.ue_table", scodoc_dept=g.scodoc_dept, formation_id=UE["formation_id"], ) @@ -263,7 +263,7 @@ def do_module_delete(oid):

Il faut d'abord supprimer le semestre. Mais il est peut être préférable de laisser ce programme intact et d'en créer une nouvelle version pour la modifier.

- reprendre """ raise ScoGenError(err_page) @@ -588,7 +588,7 @@ def formation_add_malus_modules(formation_id, titre=None, redirect=True): """Création d'un module de "malus" dans chaque UE d'une formation""" from app.scodoc import sco_edit_ue - ue_list = sco_edit_ue.do_ue_list(args={"formation_id": formation_id}) + ue_list = sco_edit_ue.ue_list(args={"formation_id": formation_id}) for ue in ue_list: # Un seul module de malus par UE: @@ -610,7 +610,7 @@ def ue_add_malus_module(ue_id, titre=None, code=None): """Add a malus module in this ue""" from app.scodoc import sco_edit_ue - ue = sco_edit_ue.do_ue_list(args={"ue_id": ue_id})[0] + ue = sco_edit_ue.ue_list(args={"ue_id": ue_id})[0] if titre is None: titre = "" @@ -629,7 +629,7 @@ def ue_add_malus_module(ue_id, titre=None, code=None): ) # Matiere pour placer le module malus - Matlist = sco_edit_matiere.do_matiere_list(args={"ue_id": ue_id}) + Matlist = sco_edit_matiere.matiere_list(args={"ue_id": ue_id}) numero = max([mat["numero"] for mat in Matlist]) + 10 matiere_id = sco_edit_matiere.do_matiere_create( {"ue_id": ue_id, "titre": "Malus", "numero": numero} diff --git a/app/scodoc/sco_edit_ue.py b/app/scodoc/sco_edit_ue.py index 37e5786b2..cc7d7557d 100644 --- a/app/scodoc/sco_edit_ue.py +++ b/app/scodoc/sco_edit_ue.py @@ -85,7 +85,7 @@ _ueEditor = ndb.EditableTable( ) -def do_ue_list(*args, **kw): +def ue_list(*args, **kw): "list UEs" cnx = ndb.GetDBConnexion() return _ueEditor.list(cnx, *args, **kw) @@ -97,9 +97,7 @@ def do_ue_create(args): cnx = ndb.GetDBConnexion() # check duplicates - ues = do_ue_list( - {"formation_id": args["formation_id"], "acronyme": args["acronyme"]} - ) + ues = ue_list({"formation_id": args["formation_id"], "acronyme": args["acronyme"]}) if ues: raise ScoValueError('Acronyme d\'UE "%s" déjà utilisé !' % args["acronyme"]) # create @@ -124,7 +122,7 @@ def do_ue_delete(ue_id, delete_validations=False, force=False): cnx = ndb.GetDBConnexion() log("do_ue_delete: ue_id=%s, delete_validations=%s" % (ue_id, delete_validations)) # check - ue = do_ue_list({"ue_id": ue_id}) + ue = ue_list({"ue_id": ue_id}) if not ue: raise ScoValueError("UE inexistante !") ue = ue[0] @@ -152,7 +150,7 @@ def do_ue_delete(ue_id, delete_validations=False, force=False): ) # delete all matiere in this UE - mats = sco_edit_matiere.do_matiere_list({"ue_id": ue_id}) + mats = sco_edit_matiere.matiere_list({"ue_id": ue_id}) for mat in mats: sco_edit_matiere.do_matiere_delete(mat["matiere_id"]) # delete uecoef and events @@ -177,7 +175,7 @@ def do_ue_delete(ue_id, delete_validations=False, force=False): if not force: return flask.redirect( url_for( - "notes.ue_list", + "notes.ue_table", scodoc_dept=g.scodoc_dept, formation_id=ue["formation_id"], ) @@ -197,7 +195,7 @@ def ue_edit(ue_id=None, create=False, formation_id=None): create = int(create) if not create: - U = do_ue_list(args={"ue_id": ue_id}) + U = ue_list(args={"ue_id": ue_id}) if not U: raise ScoValueError("UE inexistante !") U = U[0] @@ -371,7 +369,7 @@ def ue_edit(ue_id=None, create=False, formation_id=None): do_ue_edit(tf[2]) return flask.redirect( url_for( - "notes.ue_list", scodoc_dept=g.scodoc_dept, formation_id=formation_id + "notes.ue_table", scodoc_dept=g.scodoc_dept, formation_id=formation_id ) ) @@ -393,7 +391,7 @@ def next_ue_numero(formation_id, semestre_id=None): """Numero d'une nouvelle UE dans cette formation. Si le semestre est specifie, cherche les UE ayant des modules de ce semestre """ - ue_list = do_ue_list(args={"formation_id": formation_id}) + ue_list = ue_list(args={"formation_id": formation_id}) if not ue_list: return 0 if semestre_id is None: @@ -410,7 +408,7 @@ def next_ue_numero(formation_id, semestre_id=None): def ue_delete(ue_id=None, delete_validations=False, dialog_confirmed=False): """Delete an UE""" - ue = do_ue_list(args={"ue_id": ue_id}) + ue = ue_list(args={"ue_id": ue_id}) if not ue: raise ScoValueError("UE inexistante !") ue = ue[0] @@ -426,9 +424,9 @@ def ue_delete(ue_id=None, delete_validations=False, dialog_confirmed=False): return do_ue_delete(ue_id, delete_validations=delete_validations) -def ue_list(formation_id=None, msg=""): +def ue_table(formation_id=None, msg=""): # was ue_list """Liste des matières et modules d'une formation, avec liens pour - editer (si non verrouillée). + éditer (si non verrouillée). """ from app.scodoc import sco_formations from app.scodoc import sco_formsemestre_validation @@ -440,7 +438,7 @@ def ue_list(formation_id=None, msg=""): parcours = sco_codes_parcours.get_parcours_from_code(F["type_parcours"]) locked = sco_formations.formation_has_locked_sems(formation_id) - ue_list = do_ue_list(args={"formation_id": formation_id}) + ue_list = ue_list(args={"formation_id": formation_id}) # tri par semestre et numero: _add_ue_semestre_id(ue_list) ue_list.sort(key=lambda u: (u["semestre_id"], u["numero"])) @@ -627,7 +625,7 @@ du programme" (menu "Semestre") si vous avez un semestre en cours); H.append('[verrouillé]') if not parcours.UE_IS_MODULE: H.append('