1
0
forked from ScoDoc/ScoDoc

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)
if edit:
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
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))
descr.append(
(
@ -685,9 +686,8 @@ def create_user_form(user_name=None, edit=0, all_roles=True):
if "status" in vals:
vals["active"] = vals["status"] == ""
# Département:
if auth_dept: # pas super-admin
if ("dept" in vals) and (vals["dept"] not in selectable_dept_acronyms):
del vals["dept"] # ne change pas de dept
if ("dept" in vals) and (vals["dept"] not in selectable_dept_acronyms):
del vals["dept"] # ne change pas de dept
# Traitement des roles: ne doit pas affecter les rôles
# que l'on en contrôle pas:
for role in orig_roles_strings: # { "Ens_RT", "Secr_CJ", ... }