Admin. comptes utilisateurs: permet au non super-admin de choisir le département de rattachement si il a le droit d'administrer plusieurs depts.

This commit is contained in:
Emmanuel Viennet 2023-12-06 12:59:30 +01:00
parent cfafaa76b7
commit 9c0ac1ab48

View File

@ -488,7 +488,8 @@ def create_user_form(user_name=None, edit=0, all_roles=True):
}, },
), ),
] ]
# Si SuperAdmin, propose de choisir librement le dept du nouvel utilisateur # Si on a le droit d'administrer les utilisateurs de plusieurs départements,
# propose le choix du dept du nouvel utilisateur
selectable_dept_acronyms = set(administrable_dept_acronyms) selectable_dept_acronyms = set(administrable_dept_acronyms)
if edit: if edit:
if the_user.dept is not None: # ajoute dept actuel de l'utilisateur if the_user.dept is not None: # ajoute dept actuel de l'utilisateur
@ -500,7 +501,7 @@ def create_user_form(user_name=None, edit=0, all_roles=True):
if g.scodoc_dept in selectable_dept_acronyms if g.scodoc_dept in selectable_dept_acronyms
else (auth_dept or "") else (auth_dept or "")
) )
if is_super_admin and len(selectable_dept_acronyms) > 1: if len(selectable_dept_acronyms) > 1:
selectable_dept_acronyms = sorted(list(selectable_dept_acronyms)) selectable_dept_acronyms = sorted(list(selectable_dept_acronyms))
descr.append( descr.append(
( (
@ -685,9 +686,8 @@ def create_user_form(user_name=None, edit=0, all_roles=True):
if "status" in vals: if "status" in vals:
vals["active"] = vals["status"] == "" vals["active"] = vals["status"] == ""
# Département: # Département:
if auth_dept: # pas super-admin if ("dept" in vals) and (vals["dept"] not in selectable_dept_acronyms):
if ("dept" in vals) and (vals["dept"] not in selectable_dept_acronyms): del vals["dept"] # ne change pas de dept
del vals["dept"] # ne change pas de dept
# Traitement des roles: ne doit pas affecter les rôles # Traitement des roles: ne doit pas affecter les rôles
# que l'on en contrôle pas: # que l'on en contrôle pas:
for role in orig_roles_strings: # { "Ens_RT", "Secr_CJ", ... } for role in orig_roles_strings: # { "Ens_RT", "Secr_CJ", ... }