Bring Nathaniel's recent work onto master.
diff --git a/app/soc/views/helper/access_checker.py b/app/soc/views/helper/access_checker.py
index 1e1af54..b302875 100644
--- a/app/soc/views/helper/access_checker.py
+++ b/app/soc/views/helper/access_checker.py
@@ -410,29 +410,21 @@
   """
 
   def __init__(self, data):
-    """Initializes the access checker object.
-    """
+    """Initializes the access checker object."""
     self.data = data
 
-    # TODO(daniel): get rid of it and use request_data directly
-    self.gae_user = data.gae_user
-
   def fail(self, message):
     """Raises an appropriate exception.UserError with the specified message."""
     raise exception.Forbidden(message=message)
 
   def isLoggedIn(self):
-    """Ensures that the user is logged in.
-    """
-
-    if self.gae_user:
-      return
-
-    raise exception.LoginRequired()
+    """Ensures that the user is logged in."""
+    if not self.data.gae_user:
+      raise exception.LoginRequired()
 
   def isLoggedOut(self):
     """Ensures that the user is logged out."""
-    if self.gae_user:
+    if self.data.gae_user:
       # TODO(nathaniel): One-off linker object.
       linker = links.Linker()
       raise exception.Redirect(linker.logout(self.data.request))
diff --git a/app/soc/views/site.py b/app/soc/views/site.py
index fe9ecd3..b1f64c8 100644
--- a/app/soc/views/site.py
+++ b/app/soc/views/site.py
@@ -125,7 +125,7 @@
     post_accepted = self.validate(data)
     context = self.context(data, check, mutator)
     template_path = self.templatePath()
-    response_content = self.render(data, template_path, context)
+    response_content = self.renderer.render(data, template_path, context)
     return http.HttpResponse(
         status=httplib.OK if post_accepted else httplib.BAD_REQUEST,
         content=response_content)