Librarian in regular requirements.
[redakcja.git] / apps / catalogue / templatetags / catalogue.py
1 from __future__ import absolute_import
2
3 from django.core.urlresolvers import reverse
4 from django import template
5 from django.utils.translation import ugettext as _
6
7 register = template.Library()
8
9
10 class Tab(object):
11     slug = None
12     caption = None
13     url = None
14
15     def __init__(self, slug, caption, url):
16         self.slug = slug
17         self.caption = caption
18         self.url = url
19
20
21 @register.inclusion_tag("catalogue/main_tabs.html", takes_context=True)
22 def main_tabs(context):
23     active = getattr(context['request'], 'catalogue_active_tab', None)
24
25     tabs = []
26     user = context['user']
27     tabs.append(Tab('my', _('My page'), reverse("catalogue_user")))
28
29     tabs.append(Tab('activity', _('Activity'), reverse("catalogue_activity")))
30     tabs.append(Tab('all', _('All'), reverse("catalogue_document_list")))
31     tabs.append(Tab('images', _('Images'), reverse("catalogue_image_list")))
32     tabs.append(Tab('users', _('Users'), reverse("catalogue_users")))
33
34     if user.has_perm('catalogue.add_book'):
35         tabs.append(Tab('create', _('Add'), reverse("catalogue_create_missing")))
36         tabs.append(Tab('upload', _('Upload'), reverse("catalogue_upload")))
37
38     tabs.append(Tab('cover', _('Covers'), reverse("cover_image_list")))
39
40     return {"tabs": tabs, "active_tab": active}
41
42
43 @register.filter
44 def nice_name(user):
45     return user.get_full_name() or user.username
46