mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-18 07:23:00 +00:00
fix: in SpawnHandler check if named servers are allowed before launching a named server, check also limit of named servers
This commit is contained in:
@@ -118,6 +118,23 @@ class SpawnHandler(BaseHandler):
|
|||||||
if user is None:
|
if user is None:
|
||||||
raise web.HTTPError(404, "No such user: %s" % for_user)
|
raise web.HTTPError(404, "No such user: %s" % for_user)
|
||||||
|
|
||||||
|
if server_name:
|
||||||
|
if not self.allow_named_servers:
|
||||||
|
raise web.HTTPError(400, "Named servers are not enabled.")
|
||||||
|
if (
|
||||||
|
self.named_server_limit_per_user > 0
|
||||||
|
and server_name not in user.orm_spawners
|
||||||
|
):
|
||||||
|
named_spawners = list(user.all_spawners(include_default=False))
|
||||||
|
if self.named_server_limit_per_user <= len(named_spawners):
|
||||||
|
raise web.HTTPError(
|
||||||
|
400,
|
||||||
|
"User {} already has the maximum of {} named servers."
|
||||||
|
" One must be deleted before a new server can be created".format(
|
||||||
|
user.name, self.named_server_limit_per_user
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
if not self.allow_named_servers and user.running:
|
if not self.allow_named_servers and user.running:
|
||||||
url = self.get_next_url(user, default=user.server_url(server_name))
|
url = self.get_next_url(user, default=user.server_url(server_name))
|
||||||
self.log.info("User is running: %s", user.name)
|
self.log.info("User is running: %s", user.name)
|
||||||
|
Reference in New Issue
Block a user