diff options
Diffstat (limited to 'chimere/actions.py')
-rw-r--r-- | chimere/actions.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/chimere/actions.py b/chimere/actions.py index 8ef5338..e83d8c3 100644 --- a/chimere/actions.py +++ b/chimere/actions.py @@ -22,7 +22,7 @@ Actions available in the main interface """ from django.conf import settings from django.contrib.auth import models -from django.core.urlresolvers import reverse +from django.core.urlresolvers import reverse, NoReverseMatch from django.utils.translation import ugettext_lazy as _ from models import Page @@ -33,7 +33,12 @@ class Action: self.extra_url_args, self.url = extra_url_args, None def update_url(self, area_name): - self.url = reverse(self.path, + try: + self.url = reverse(self.path, + args=[area_name if area_name else ''] + self.extra_url_args) + except NoReverseMatch: + # backward url management + self.url = reverse(self.path, args=[area_name + '/' if area_name else ''] + self.extra_url_args) default_actions = [(Action('view', 'chimere:index', _('View')), []), @@ -42,6 +47,10 @@ default_actions = [(Action('view', 'chimere:index', _('View')), []), Action('edit-route', 'chimere:editroute', _('Add a new route'))), ),] +if hasattr(settings, 'CHIMERE_DIRECTORY') and settings.CHIMERE_DIRECTORY: + default_actions.append((Action('categories', 'chimere:category-directory', + _('Directory')), [])) + if settings.CHIMERE_FEEDS: default_actions.append((Action('rss', 'chimere:feeds-form', _('RSS feeds')), [])) |