From: Eevee <git@veekun.com>
Date: Sun, 26 Sep 2010 04:45:50 +0000 (-0700)
Subject: Stop invalidating the entire session before generating the page...
X-Git-Tag: veekun-promotions/2010101501^0
X-Git-Url: http://git.veekun.com/zzz-spline-frontpage.git/commitdiff_plain/b6150cb0386e08259fc0a7a5f63c7d6b25ffcd3e?ds=sidebyside

Stop invalidating the entire session before generating the page...
---

diff --git a/splinext/frontpage/controllers/frontpage.py b/splinext/frontpage/controllers/frontpage.py
index c9f779a..900c87b 100644
--- a/splinext/frontpage/controllers/frontpage.py
+++ b/splinext/frontpage/controllers/frontpage.py
@@ -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