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()
admin_users = Set({getpass.getuser()}, config=True,
help="""list of usernames of admin users
admin_users = Set(config=True,
help="""set of usernames of admin users
If unspecified, only the user that launches the server will be admin.
"""
@@ -379,7 +379,13 @@ class JupyterHubApp(Application):
def init_users(self):
"""Load users into and from the database"""
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:
# ensure anyone specified as admin in config is admin in db
user = orm.User.find(db, name)