diff options
-rw-r--r-- | askbot/templatetags/extra_filters_jinja.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/askbot/templatetags/extra_filters_jinja.py b/askbot/templatetags/extra_filters_jinja.py index 5be86dc2..2228eed4 100644 --- a/askbot/templatetags/extra_filters_jinja.py +++ b/askbot/templatetags/extra_filters_jinja.py @@ -6,7 +6,8 @@ from django.core import exceptions as django_exceptions from django.utils.translation import ugettext as _ from django.contrib.humanize.templatetags import humanize from django.template import defaultfilters -from django.core.urlresolvers import reverse +from django.core.urlresolvers import reverse, resolve +from django.http import Http404 from askbot import exceptions as askbot_exceptions from askbot import auth from askbot.conf import settings as askbot_settings @@ -34,9 +35,13 @@ absolutize_urls = register.filter(absolutize_urls_func) @register.filter def clean_login_url(url): """pass through, unless user was originally on the logout page""" - if url == reverse('logout'): - return reverse('index') - return url + try: + resolver_match = resolve(url) + if resolver_match.url_name == 'question': + return url + except Http404: + pass + return reverse('index') @register.filter def country_display_name(country_code): |