X-Git-Url: https://git.mdrn.pl/prawokultury.git/blobdiff_plain/773a8c2da4c355af5d81d27a4849e9548e2d8864..62c6504a2495e2a1d48f7185ab3adb5984916b1c:/menu/helpers.py diff --git a/menu/helpers.py b/menu/helpers.py index e22bb97..64df72c 100755 --- a/menu/helpers.py +++ b/menu/helpers.py @@ -25,11 +25,22 @@ class ObjectMenuItem(MenuItem): If no url or title is provided, get_absolute_url and __unicode__ are used. You can also provide a reverse lookup dictionary, as in {model: field_name}. """ - def __init__(self, obj, url=None, rev_lookups=None, title=None, html_id=None): + def __init__(self, obj_lookup, url=None, rev_lookups=None, title=None, html_id=None): super(ObjectMenuItem, self).__init__(url=url, title=title, html_id=html_id) - self.obj = obj + self.obj_lookup = obj_lookup self.rev_lookups = rev_lookups + @property + def obj(self): + from migdal.models import Entry + try: + entry = Entry.objects.get(**self.obj_lookup) + except Entry.DoesNotExist: + return + if not entry.published: + return None + return entry + def get_title(self): return self.title or unicode(self.obj)