X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/1a949f7c97dc2f34c135f5cdf088df2927d3d652..f73c15a3bd47e9f7fe3a29645f968528fb6415e4:/forum/middleware/extended_user.py?ds=inline diff --git a/forum/middleware/extended_user.py b/forum/middleware/extended_user.py index e54c9b4..dfe7163 100644 --- a/forum/middleware/extended_user.py +++ b/forum/middleware/extended_user.py @@ -1,15 +1,27 @@ from django.contrib.auth.middleware import AuthenticationMiddleware +from django.contrib.auth import logout from forum.models.user import AnonymousUser +from forum.views.auth import forward_suspended_user +import logging -class ExtendedUser(AuthenticationMiddleware): +class ExtendedUser(AuthenticationMiddleware): def process_request(self, request): super(ExtendedUser, self).process_request(request) if request.user.is_authenticated(): try: request.user = request.user.user + + if request.user.is_suspended(): + user = request.user + logout(request) + return forward_suspended_user(request, user) + return None - except: - pass + except Exception, e: + import traceback + logging.error("Unable to convert auth_user %s to forum_user: \n%s" % ( + request.user.id, traceback.format_exc() + )) request.user = AnonymousUser() return None \ No newline at end of file