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