]> git.openstreetmap.org Git - osqa.git/blobdiff - forum/middleware/extended_user.py
Adds logging statement to when there's an error converting auth_user to forum_user...
[osqa.git] / forum / middleware / extended_user.py
index e54c9b4aa50eeea05d80f7aac4daa98966e21704..dfe71636fe3388c108fd7f0ff3894eecb2c3fc8b 100644 (file)
@@ -1,15 +1,27 @@
 from django.contrib.auth.middleware import AuthenticationMiddleware\r
+from django.contrib.auth import logout\r
 from forum.models.user import AnonymousUser\r
+from forum.views.auth import forward_suspended_user\r
+import logging\r
 \r
-class ExtendedUser(AuthenticationMiddleware):    \r
+class ExtendedUser(AuthenticationMiddleware):\r
     def process_request(self, request):\r
         super(ExtendedUser, self).process_request(request)\r
         if request.user.is_authenticated():\r
             try:\r
                 request.user = request.user.user\r
+\r
+                if request.user.is_suspended():\r
+                    user = request.user\r
+                    logout(request)\r
+                    return forward_suspended_user(request, user)\r
+\r
                 return None\r
-            except:\r
-                pass\r
+            except Exception, e:\r
+                import traceback\r
+                logging.error("Unable to convert auth_user %s to forum_user: \n%s" % (\r
+                    request.user.id, traceback.format_exc()\r
+                ))\r
 \r
         request.user = AnonymousUser()\r
         return None
\ No newline at end of file