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__)
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
user = model.User(name=username)
meta.Session.add(user)
+
openid = model.OpenID(openid=res.identity_url)
user.openids.append(openid)
+
meta.Session.commit()
# Remember who's logged in, and we're good to go
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)