From: Jan Szejko Date: Mon, 29 Aug 2016 15:25:00 +0000 (+0200) Subject: update menu X-Git-Url: https://git.mdrn.pl/prawokultury.git/commitdiff_plain/0a6e68a5be7d9d7df414a9afcad9982bb783a66e?ds=inline;hp=d08b51a20f492d3b62b9494b2dbeba0e162564ce update menu --- diff --git a/menu/helpers.py b/menu/helpers.py index 33e90b7..3cf305b 100755 --- a/menu/helpers.py +++ b/menu/helpers.py @@ -1,17 +1,21 @@ +from django.utils.translation import get_language + + class MenuItem(object): html_id = None class InvalidMenuItem(BaseException): pass - def __init__(self, url, title, html_id=None, more_urls=None): + def __init__(self, url, title, html_id=None, more_urls=None, langs=None): self.url = url self.title = title self.html_id = html_id self.more_urls = more_urls or set() + self.langs = langs def is_valid(self): - return True + return not (self.langs and get_language() not in self.langs) def is_active(self, request, value): url = request.get_full_path() @@ -62,9 +66,11 @@ class ObjectMenuItem(MenuItem): return self.url or self.get_object().get_absolute_url() def is_valid(self): + if not super(ObjectMenuItem, self).is_valid(): + return False try: - obj = self.get_object() - except self.InvalidMenuItem, e: + self.get_object() + except self.InvalidMenuItem: return False return True diff --git a/prawokultury/menu_items.py b/prawokultury/menu_items.py index 1da9c69..581455c 100644 --- a/prawokultury/menu_items.py +++ b/prawokultury/menu_items.py @@ -5,26 +5,19 @@ from django.core.urlresolvers import reverse_lazy from django.utils.translation import ugettext_lazy as _ -ITEMS = [] - -ITEMS.append(ObjectMenuItem( - obj_get=lambda:Entry.published_objects.get(slug_pl='o-nas') -)) - -ITEMS.append(ModelMenuItem(Entry, reverse_lazy('migdal_entry_list_publications'), - field_lookups={'type': 'publications'}, title=_('Publications'))) - -ITEMS.append(MenuItem(reverse_lazy('events'), _('Events'))) - -ITEMS.append(ObjectMenuItem( - obj_get=lambda:Category.objects.get(slug_pl='stanowisko'), - rev_lookups={Entry: 'categories'}, - title=_('Positions') -)) - -ITEMS.append(MenuItem(reverse_lazy('questions'), _('First aid'))) - -ITEMS.append(ObjectMenuItem( - obj_get=lambda:Entry.published_objects.get(slug_pl='pierwsza-pomoc'), - title=_('Guide') -)) +ITEMS = [ + ObjectMenuItem(obj_get=lambda: Entry.published_objects.get(slug_pl='o-nas')), + ModelMenuItem(Entry, reverse_lazy('migdal_entry_list_publications'), + field_lookups={'type': 'publications'}, title=_('Publications')), + MenuItem(reverse_lazy('events'), _('Events'), langs=['en']), + MenuItem('/kurs/', u'Kurs dla uczelni', langs=['pl']), + ObjectMenuItem( + obj_get=lambda: Category.objects.get(slug_pl='stanowisko'), + rev_lookups={Entry: 'categories'}, + title=_('Positions')), + MenuItem( + reverse_lazy('questions'), _('First aid')), + ObjectMenuItem( + obj_get=lambda: Entry.published_objects.get(slug_pl='pierwsza-pomoc'), + title=_('Guide')), +]