Stop invalidating the entire session before generating the page... veekun-promotions/2010101501 veekun-promotions/2010101701 veekun-promotions/2010112001 veekun-promotions/2010112601 veekun-promotions/2010120701
authorEevee <git@veekun.com>
Sun, 26 Sep 2010 04:45:50 +0000 (21:45 -0700)
committerEevee <git@veekun.com>
Sun, 26 Sep 2010 04:45:50 +0000 (21:45 -0700)
splinext/frontpage/controllers/frontpage.py

index c9f779a..900c87b 100644 (file)
@@ -93,11 +93,16 @@ class FrontPageController(BaseController):
         if c.user:
             c.user.stash['frontpage-last-seen-time'] = now
             meta.Session.add(c.user)
         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
 
         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