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 # 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)" uid2display = {} # user_name : forme pour affichage = "NOM Prenom (login)"
for u in userlist: for u in user_list:
uid2display[u.id] = u.get_nomplogin() uid2display[u.id] = u.get_nomplogin()
allowed_user_names = list(uid2display.values()) + [""] 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] initvalues["tf-checked"] = ["MI" + str(x["module_id"]) for x in ams]
for x in ams: for x in ams:
initvalues["MI" + str(x["module_id"])] = uid2display.get( 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( initvalues["responsable_id"] = uid2display.get(
@ -869,9 +873,9 @@ def formsemestre_clone(formsemestre_id, REQUEST=None):
""" """
sem = sco_formsemestre.get_formsemestre(formsemestre_id) sem = sco_formsemestre.get_formsemestre(formsemestre_id)
# Liste des enseignants avec forme pour affichage / saisie avec suggestion # 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)" uid2display = {} # user_name : forme pour affichage = "NOM Prenom (login)"
for u in userlist: for u in user_list:
uid2display[u.id] = u.get_nomplogin() uid2display[u.id] = u.get_nomplogin()
allowed_user_names = list(uid2display.values()) + [""] allowed_user_names = list(uid2display.values()) + [""]

View File

@ -569,7 +569,9 @@ def user_info_page(user_name):
@scodoc7func @scodoc7func
def get_user_list_xml(dept=None, start="", limit=25, REQUEST=None): def get_user_list_xml(dept=None, start="", limit=25, REQUEST=None):
"""Returns XML list of users with name (nomplogin) starting with start. """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) userlist = sco_users.get_user_list(dept=dept)
start = scu.suppress_accents(start).lower() start = scu.suppress_accents(start).lower()
# TODO : à refaire avec une requete SQL #py3 # TODO : à refaire avec une requete SQL #py3