mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-10 11:33:01 +00:00
initialize new admin users with default roles
it was possible for a user in `admin_users` to not get the `user` role
This commit is contained in:
@@ -1903,6 +1903,7 @@ class JupyterHub(Application):
|
|||||||
user = orm.User.find(db, name)
|
user = orm.User.find(db, name)
|
||||||
if user is None:
|
if user is None:
|
||||||
user = orm.User(name=name, admin=True)
|
user = orm.User(name=name, admin=True)
|
||||||
|
roles.assign_default_roles(self.db, entity=user)
|
||||||
new_users.append(user)
|
new_users.append(user)
|
||||||
db.add(user)
|
db.add(user)
|
||||||
else:
|
else:
|
||||||
|
@@ -188,6 +188,8 @@ def normalize_user(user):
|
|||||||
"""
|
"""
|
||||||
for key in ('created', 'last_activity'):
|
for key in ('created', 'last_activity'):
|
||||||
user[key] = normalize_timestamp(user[key])
|
user[key] = normalize_timestamp(user[key])
|
||||||
|
if 'roles' in user:
|
||||||
|
user['roles'] = sorted(user['roles'])
|
||||||
if 'servers' in user:
|
if 'servers' in user:
|
||||||
for server in user['servers'].values():
|
for server in user['servers'].values():
|
||||||
for key in ('started', 'last_activity'):
|
for key in ('started', 'last_activity'):
|
||||||
@@ -240,7 +242,12 @@ async def test_get_users(app):
|
|||||||
}
|
}
|
||||||
assert users == [
|
assert users == [
|
||||||
fill_user(
|
fill_user(
|
||||||
{'name': 'admin', 'admin': True, 'roles': ['admin'], 'auth_state': None}
|
{
|
||||||
|
'name': 'admin',
|
||||||
|
'admin': True,
|
||||||
|
'roles': ['admin', 'user'],
|
||||||
|
'auth_state': None,
|
||||||
|
}
|
||||||
),
|
),
|
||||||
fill_user(user_model),
|
fill_user(user_model),
|
||||||
]
|
]
|
||||||
|
Reference in New Issue
Block a user