mirror of
https://github.com/jupyterhub/jupyterhub.git
synced 2025-10-12 20:43:02 +00:00
return orm.User from get_current_user
rather than name. removes need for `get_user` wrapper
This commit is contained in:
@@ -67,7 +67,7 @@ class BaseHandler(RequestHandler):
|
|||||||
if orm_token is None:
|
if orm_token is None:
|
||||||
return None
|
return None
|
||||||
else:
|
else:
|
||||||
return orm_token.user.name
|
return orm_token.user
|
||||||
|
|
||||||
def get_current_user_cookie(self):
|
def get_current_user_cookie(self):
|
||||||
"""get_current_user from a cookie token"""
|
"""get_current_user from a cookie token"""
|
||||||
@@ -76,7 +76,7 @@ class BaseHandler(RequestHandler):
|
|||||||
cookie_token = self.db.query(orm.CookieToken).filter(
|
cookie_token = self.db.query(orm.CookieToken).filter(
|
||||||
orm.CookieToken.token==token).first()
|
orm.CookieToken.token==token).first()
|
||||||
if cookie_token:
|
if cookie_token:
|
||||||
return cookie_token.user.name
|
return cookie_token.user
|
||||||
else:
|
else:
|
||||||
# have cookie, but it's not valid. Clear it and start over.
|
# have cookie, but it's not valid. Clear it and start over.
|
||||||
self.clear_cookie(self.hub.server.cookie_name, path=self.hub.server.base_url)
|
self.clear_cookie(self.hub.server.cookie_name, path=self.hub.server.base_url)
|
||||||
@@ -88,7 +88,7 @@ class BaseHandler(RequestHandler):
|
|||||||
return user
|
return user
|
||||||
return self.get_current_user_cookie()
|
return self.get_current_user_cookie()
|
||||||
|
|
||||||
def get_user(self, username):
|
def user_from_username(self, username):
|
||||||
"""Get ORM User for username"""
|
"""Get ORM User for username"""
|
||||||
|
|
||||||
user = self.db.query(orm.User).filter(orm.User.name==username).first()
|
user = self.db.query(orm.User).filter(orm.User.name==username).first()
|
||||||
@@ -99,10 +99,8 @@ class BaseHandler(RequestHandler):
|
|||||||
return user
|
return user
|
||||||
|
|
||||||
def clear_login_cookie(self):
|
def clear_login_cookie(self):
|
||||||
username = self.get_current_user()
|
user = self.get_current_user()
|
||||||
if username is not None:
|
if user and user.server:
|
||||||
user = self.get_user(username)
|
|
||||||
if user.server is not None:
|
|
||||||
self.clear_cookie(user.server.cookie_name, path=user.server.base_url)
|
self.clear_cookie(user.server.cookie_name, path=user.server.base_url)
|
||||||
self.clear_cookie(self.hub.server.cookie_name, path=self.hub.server.base_url)
|
self.clear_cookie(self.hub.server.cookie_name, path=self.hub.server.base_url)
|
||||||
|
|
||||||
@@ -208,8 +206,7 @@ class BaseHandler(RequestHandler):
|
|||||||
@property
|
@property
|
||||||
def logged_in(self):
|
def logged_in(self):
|
||||||
"""Is a user currently logged in?"""
|
"""Is a user currently logged in?"""
|
||||||
user = self.get_current_user()
|
return self.get_current_user() is not None
|
||||||
return (user and not user == 'anonymous')
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def template_namespace(self):
|
def template_namespace(self):
|
||||||
@@ -267,7 +264,7 @@ class RootHandler(BaseHandler):
|
|||||||
"""Render the Hub root page."""
|
"""Render the Hub root page."""
|
||||||
@web.authenticated
|
@web.authenticated
|
||||||
def get(self):
|
def get(self):
|
||||||
user = self.get_user(self.get_current_user())
|
user = self.get_current_user()
|
||||||
html = self.render_template('index.html',
|
html = self.render_template('index.html',
|
||||||
server_running = user.server is not None,
|
server_running = user.server is not None,
|
||||||
server_url = '/user/%s' % user.name,
|
server_url = '/user/%s' % user.name,
|
||||||
@@ -281,10 +278,11 @@ class UserHandler(BaseHandler):
|
|||||||
This handler shouldn't be called if the proxy is set up correctly.
|
This handler shouldn't be called if the proxy is set up correctly.
|
||||||
"""
|
"""
|
||||||
@web.authenticated
|
@web.authenticated
|
||||||
def get(self, user):
|
def get(self, name):
|
||||||
self.log.warn("Hub serving single-user url: %s", self.request.path)
|
self.log.warn("Hub serving single-user url: %s", self.request.path)
|
||||||
if self.get_current_user() == user:
|
current_user = self.get_current_user()
|
||||||
self.spawn_single_user(self.get_user(user))
|
if current_user and current_user.name == name:
|
||||||
|
self.spawn_single_user(current_user)
|
||||||
self.redirect('')
|
self.redirect('')
|
||||||
else:
|
else:
|
||||||
self.log.warn("Hub serving single-user url: %s", self.request.path)
|
self.log.warn("Hub serving single-user url: %s", self.request.path)
|
||||||
|
@@ -6,8 +6,6 @@
|
|||||||
from tornado.escape import url_escape
|
from tornado.escape import url_escape
|
||||||
from tornado import gen
|
from tornado import gen
|
||||||
|
|
||||||
from .. import orm
|
|
||||||
|
|
||||||
from .base import BaseHandler
|
from .base import BaseHandler
|
||||||
|
|
||||||
|
|
||||||
@@ -46,7 +44,7 @@ class LoginHandler(BaseHandler):
|
|||||||
username = data['username']
|
username = data['username']
|
||||||
authorized = yield self.authenticate(data)
|
authorized = yield self.authenticate(data)
|
||||||
if authorized:
|
if authorized:
|
||||||
user = self.get_user(username)
|
user = self.user_from_username(username)
|
||||||
yield self.spawn_single_user(user)
|
yield self.spawn_single_user(user)
|
||||||
self.set_login_cookies(user)
|
self.set_login_cookies(user)
|
||||||
next_url = self.get_argument('next', default='') or self.hub.server.base_url
|
next_url = self.get_argument('next', default='') or self.hub.server.base_url
|
||||||
|
Reference in New Issue
Block a user