fix nasty bug: editing sems with inactive mod resps

This commit is contained in:
Emmanuel Viennet 2021-09-03 18:17:43 +02:00
parent 42ae898505
commit b8310064ee
2 changed files with 12 additions and 6 deletions

View File

@ -147,9 +147,12 @@ def do_formsemestre_createwithmodules(REQUEST=None, edit=False):
)
# Liste des enseignants avec forme pour affichage / saisie avec suggestion
userlist = sco_users.get_user_list()
# attention: il faut prendre ici tous les utilisateurs, même inactifs, car
# les responsables de modules d'anciens semestres peuvent ne plus être actifs.
# Mais la suggestion utilise get_user_list_xml() qui ne suggérera que les actifs.
user_list = sco_users.get_user_list(with_inactives=True)
uid2display = {} # user_name : forme pour affichage = "NOM Prenom (login)"
for u in userlist:
for u in user_list:
uid2display[u.id] = u.get_nomplogin()
allowed_user_names = list(uid2display.values()) + [""]
#
@ -172,7 +175,8 @@ def do_formsemestre_createwithmodules(REQUEST=None, edit=False):
initvalues["tf-checked"] = ["MI" + str(x["module_id"]) for x in ams]
for x in ams:
initvalues["MI" + str(x["module_id"])] = uid2display.get(
x["responsable_id"], x["responsable_id"]
x["responsable_id"],
f"inconnu numéro {x['responsable_id']} resp. de {x['moduleimpl_id']} !",
)
initvalues["responsable_id"] = uid2display.get(
@ -869,9 +873,9 @@ def formsemestre_clone(formsemestre_id, REQUEST=None):
"""
sem = sco_formsemestre.get_formsemestre(formsemestre_id)
# Liste des enseignants avec forme pour affichage / saisie avec suggestion
userlist = sco_users.get_user_list()
user_list = sco_users.get_user_list()
uid2display = {} # user_name : forme pour affichage = "NOM Prenom (login)"
for u in userlist:
for u in user_list:
uid2display[u.id] = u.get_nomplogin()
allowed_user_names = list(uid2display.values()) + [""]

View File

@ -569,7 +569,9 @@ def user_info_page(user_name):
@scodoc7func
def get_user_list_xml(dept=None, start="", limit=25, REQUEST=None):
"""Returns XML list of users with name (nomplogin) starting with start.
Used for forms auto-completion."""
Used for forms auto-completion.
"""
# suggère seulement seulement les utilisateurs actifs:
userlist = sco_users.get_user_list(dept=dept)
start = scu.suppress_accents(start).lower()
# TODO : à refaire avec une requete SQL #py3