X-Git-Url: http://git.veekun.com/zzz-spline-users.git/blobdiff_plain/efc8b2bfc9e8a98fe563608a9467d541fb99c614..1e2382335ea1e52b42cdc07fd1f74b9a9b0cec39:/spline/plugins/users/controllers/accounts.py diff --git a/spline/plugins/users/controllers/accounts.py b/spline/plugins/users/controllers/accounts.py index 67d62e4..03c9392 100644 --- a/spline/plugins/users/controllers/accounts.py +++ b/spline/plugins/users/controllers/accounts.py @@ -4,9 +4,9 @@ from openid.extensions.sreg import SRegRequest, SRegResponse from openid.store.filestore import FileOpenIDStore from sqlalchemy.orm.exc import NoResultFound -from pylons import config, request, response, session, tmpl_context as c +from pylons import config, request, response, session, tmpl_context as c, url from pylons.controllers.util import abort, redirect_to -from routes import url_for, request_config +from routes import request_config from spline import model from spline.model import meta @@ -35,7 +35,7 @@ class AccountsController(BaseController): host = request.headers['host'] protocol = request_config().protocol - return_url = url_for(host=host, controller='accounts', action='login_finish') + return_url = url(host=host, controller='accounts', action='login_finish') new_url = auth_request.redirectURL(return_to=return_url, realm=protocol + '://' + host) redirect_to(new_url) @@ -45,7 +45,7 @@ class AccountsController(BaseController): cons = Consumer(session=session, store=self.openid_store) host = request.headers['host'] - return_url = url_for(host=host, controller='accounts', action='login_finish') + return_url = url(host=host, controller='accounts', action='login_finish') res = cons.complete(request.params, return_url) if res.status != 'success': @@ -61,7 +61,8 @@ class AccountsController(BaseController): sreg_res = SRegResponse.fromSuccessResponse(res) try: username = sreg_res['nickname'] - except KeyError: + except (KeyError, TypeError): + # KeyError if sreg has no nickname; TypeError if sreg is None username = 'Anonymous' # Create db records @@ -75,4 +76,4 @@ class AccountsController(BaseController): session['user_id'] = user.id session.save() - return "Hello, %s" % user.name + redirect_to(url('/'))