diff --git a/jupyterhub/handlers/base.py b/jupyterhub/handlers/base.py index b2e7339c..bf9f877f 100644 --- a/jupyterhub/handlers/base.py +++ b/jupyterhub/handlers/base.py @@ -1131,11 +1131,22 @@ class BaseHandler(RequestHandler): logout_url=self.settings['logout_url'], static_url=self.static_url, version_hash=self.version_hash, + services=self.get_accessible_services(user), ) if self.settings['template_vars']: ns.update(self.settings['template_vars']) return ns + def get_accessible_services(self, user): + accessible_services = [] + if user is None: + return accessible_services + for service in self.services.values(): + if not service.url: + continue + accessible_services.append(service) + return accessible_services + def write_error(self, status_code, **kwargs): """render custom error pages""" exc_info = kwargs.get('exc_info') diff --git a/share/jupyterhub/templates/page.html b/share/jupyterhub/templates/page.html index cd50ee11..2ffac9ec 100644 --- a/share/jupyterhub/templates/page.html +++ b/share/jupyterhub/templates/page.html @@ -118,6 +118,16 @@ {% if user.admin %}
  • Admin
  • {% endif %} + {% if services %} + + {% endif %} {% endblock %} {% endif %}