X-Git-Url: http://git.veekun.com/zzz-spline-frontpage.git/blobdiff_plain/cd1d8d6aeed2bbb04467074d20e89fd1819994e5..refs/tags/veekun-promotions/2010101701:/splinext/frontpage/controllers/frontpage.py diff --git a/splinext/frontpage/controllers/frontpage.py b/splinext/frontpage/controllers/frontpage.py index a77edb2..900c87b 100644 --- a/splinext/frontpage/controllers/frontpage.py +++ b/splinext/frontpage/controllers/frontpage.py @@ -2,7 +2,7 @@ import datetime import logging from pylons import config, request, response, session, tmpl_context as c, url -from pylons.controllers.util import abort, redirect_to +from pylons.controllers.util import abort, redirect from routes import request_config from sqlalchemy.orm.exc import NoResultFound @@ -79,9 +79,9 @@ class FrontPageController(BaseController): times.append( int(source['frontpage-last-seen-time']) ) except (KeyError, ValueError): pass - last_seen_time = datetime.datetime.fromtimestamp(max(times)) - if last_seen_time: + if times: + last_seen_time = datetime.datetime.fromtimestamp(max(times)) for update in updates: if update.time > last_seen_time: c.last_seen_item = update @@ -93,11 +93,16 @@ class FrontPageController(BaseController): if c.user: c.user.stash['frontpage-last-seen-time'] = now meta.Session.add(c.user) - meta.Session.commit() else: response.set_cookie('frontpage-last-seen-time', now) # Done! Feed to template c.updates = updates - return render('/index.mako') + ret = render('/index.mako') + + # Commit AFTER rendering the template! Committing invalidates + # everything in the session, undoing any eagerloading that may have + # been done by sources + meta.Session.commit() + return ret