X-Git-Url: http://git.veekun.com/zzz-spline-users.git/blobdiff_plain/3a7f952ac7dde642522438b8508c176f89f73b71..3036be98ef57c54a3c06ac55d9b96432cfeaad90:/spline/plugins/users/controllers/accounts.py?ds=sidebyside diff --git a/spline/plugins/users/controllers/accounts.py b/spline/plugins/users/controllers/accounts.py index 09ca1ac..ba2fa26 100644 --- a/spline/plugins/users/controllers/accounts.py +++ b/spline/plugins/users/controllers/accounts.py @@ -10,6 +10,7 @@ from routes import request_config from spline import model from spline.model import meta +from spline.lib import helpers as h from spline.lib.base import BaseController, render log = logging.getLogger(__name__) @@ -61,7 +62,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 +77,19 @@ class AccountsController(BaseController): session['user_id'] = user.id session.save() - return "Hello, %s" % user.name + h.flash(u"""Hello, {0}!""".format(user.name), + icon='user') + + redirect_to('/', _code=303) + + def logout(self): + """Logs the user out.""" + + if 'user_id' in session: + del session['user_id'] + session.save() + + h.flash(u"""Logged out.""", + icon='user-silhouette') + + redirect_to('/', _code=303)