Merge master into img-playground. Image support with new management features. Missing...
[redakcja.git] / apps / catalogue / templatetags / catalogue.py
diff --git a/apps/catalogue/templatetags/catalogue.py b/apps/catalogue/templatetags/catalogue.py
new file mode 100644 (file)
index 0000000..0b57b49
--- /dev/null
@@ -0,0 +1,44 @@
+from __future__ import absolute_import
+
+from django.core.urlresolvers import reverse
+from django import template
+from django.utils.translation import ugettext as _
+
+register = template.Library()
+
+
+class Tab(object):
+    slug = None
+    caption = None
+    url = None
+
+    def __init__(self, slug, caption, url):
+        self.slug = slug
+        self.caption = caption
+        self.url = url
+
+
+@register.inclusion_tag("catalogue/main_tabs.html", takes_context=True)
+def main_tabs(context):
+    active = getattr(context['request'], 'catalogue_active_tab', None)
+
+    tabs = []
+    user = context['user']
+    tabs.append(Tab('my', _('My page'), reverse("catalogue_user")))
+
+    tabs.append(Tab('activity', _('Activity'), reverse("catalogue_activity")))
+    tabs.append(Tab('all', _('All'), reverse("catalogue_document_list")))
+    tabs.append(Tab('images', _('Images'), reverse("catalogue_image_list")))
+    tabs.append(Tab('users', _('Users'), reverse("catalogue_users")))
+
+    if user.has_perm('catalogue.add_book'):
+        tabs.append(Tab('create', _('Add'), reverse("catalogue_create_missing")))
+        tabs.append(Tab('upload', _('Upload'), reverse("catalogue_upload")))
+
+    return {"tabs": tabs, "active_tab": active}
+
+
+@register.filter
+def nice_name(user):
+    return user.get_full_name() or user.username
+