X-Git-Url: https://git.mdrn.pl/edumed.git/blobdiff_plain/d0f0e1412cc42d366b234e798dfb68feed05d751..d555d988764995ea1f9f5ece46f453a66f09b334:/src/forum/middleware.py?ds=inline diff --git a/src/forum/middleware.py b/src/forum/middleware.py new file mode 100644 index 0000000..1b6e26b --- /dev/null +++ b/src/forum/middleware.py @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- +from urllib import urlencode + +from django.contrib.auth import REDIRECT_FIELD_NAME +from django.http import HttpResponseRedirect +from django.core.urlresolvers import reverse +from django_cas.views import login as cas_login + + +class ForumMiddleware(object): + @staticmethod + def process_request(request): + if request.path.startswith(reverse('pybb:index')) \ + and (not hasattr(request, 'user') or not request.user.is_authenticated()): + params = urlencode({REDIRECT_FIELD_NAME: request.get_full_path()}) + return HttpResponseRedirect(reverse(cas_login) + '?' + params)