X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/174c53e97bcf1e5412c141829d152aa5a2b8684c..2095dca3184ccc6d547fc08d252a18b25550006d:/forum/middleware/extended_user.py?ds=sidebyside diff --git a/forum/middleware/extended_user.py b/forum/middleware/extended_user.py index 0e44f73..ca1d151 100644 --- a/forum/middleware/extended_user.py +++ b/forum/middleware/extended_user.py @@ -1,23 +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 - -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 - - request.user = AnonymousUser() +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): + 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 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