From: Aleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl> Date: Thu, 5 Sep 2013 12:08:38 +0000 (+0200) Subject: Non authenticated users aren't allowed to use forum for now X-Git-Url: https://git.mdrn.pl/edumed.git/commitdiff_plain/87ec81224b9b1d395e78cb283beced5e6a60bb53?ds=inline Non authenticated users aren't allowed to use forum for now --- diff --git a/catalogue/templates/catalogue/lesson/lesson_detail.html b/catalogue/templates/catalogue/lesson/lesson_detail.html index adc5dc3..f08b5b8 100755 --- a/catalogue/templates/catalogue/lesson/lesson_detail.html +++ b/catalogue/templates/catalogue/lesson/lesson_detail.html @@ -113,13 +113,13 @@ </footer> -{% if object.forum_topics.all.count %} -<h2>Na forum</h2> -<ul> -{% for forum_topic in object.forum_topics.all %} - <li><a href="{{forum_topic.pybb_topic.get_absolute_url}}">{{forum_topic.pybb_topic.name}}</a></li> -{% endfor %} -</ul> +{% if request.user.is_authenticated and object.forum_topics.all.count %} + <h2>Na forum</h2> + <ul> + {% for forum_topic in object.forum_topics.all %} + <li><a href="{{forum_topic.pybb_topic.get_absolute_url}}">{{forum_topic.pybb_topic.name}}</a></li> + {% endfor %} + </ul> {% endif %} </div> diff --git a/edumed/settings.d/40-middleware.py b/edumed/settings.d/40-middleware.py index 8a3d2e6..b9c614d 100644 --- a/edumed/settings.d/40-middleware.py +++ b/edumed/settings.d/40-middleware.py @@ -23,4 +23,5 @@ MIDDLEWARE_CLASSES = tuple(x for x in ( 'django.middleware.cache.FetchFromCacheMiddleware', 'fnpdjango.middleware.SetRemoteAddrFromXRealIP', 'pybb.middleware.PybbMiddleware', + 'forum.middleware.ForumMiddleware' ) if x is not None) diff --git a/edumed/templates/home.html b/edumed/templates/home.html index 59a24c6..e7977e8 100755 --- a/edumed/templates/home.html +++ b/edumed/templates/home.html @@ -43,7 +43,7 @@ <li><a href="{{ package_student_url }}">Pobierz wszystkie lekcje w wersji dla ucznia</a></li> <li><a href="{% url 'catalogue_lesson' 'slowniczek' %}">SÅowniczek</a></li> <li><a href="{% url 'catalogue_lesson' 'metody' %}">Metody edukacyjne</a></li> - <li><a href="{% url 'pybb:index' %}">Forum</a></li> + {% if request.user.is_authenticated %}<li><a href="{% url 'pybb:index' %}">Forum</a></li>{% endif %} <li><a href="http://nowoczesnapolska.org.pl/prywatnosc/">Polityka prywatnoÅci i ciasteczka</a></li> </ul> </section> diff --git a/forum/middleware.py b/forum/middleware.py new file mode 100644 index 0000000..fb0a605 --- /dev/null +++ b/forum/middleware.py @@ -0,0 +1,14 @@ +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: + def process_request(self, 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)