only add current user as admin if no other admin users

handles case where admin could be loaded from db
This commit is contained in:
MinRK
2014-10-06 12:18:35 -07:00
parent 795c57d5d5
commit 754c9a83fc

View File

@@ -263,8 +263,8 @@ class JupyterHubApp(Application):
) )
db = Any() db = Any()
admin_users = Set({getpass.getuser()}, config=True, admin_users = Set(config=True,
help="""list of usernames of admin users help="""set of usernames of admin users
If unspecified, only the user that launches the server will be admin. If unspecified, only the user that launches the server will be admin.
""" """
@@ -380,6 +380,12 @@ class JupyterHubApp(Application):
"""Load users into and from the database""" """Load users into and from the database"""
db = self.db db = self.db
if not self.admin_users:
# add current user as admin if there aren't any others
admins = db.query(orm.User).filter(orm.User.admin==True)
if admins.first() is None:
self.admin_users.add(getpass.getuser())
for name in self.admin_users: for name in self.admin_users:
# ensure anyone specified as admin in config is admin in db # ensure anyone specified as admin in config is admin in db
user = orm.User.find(db, name) user = orm.User.find(db, name)