5c3b1eb8058775de044e6edd6a976e35af53b23a
[redakcja.git] / src / documents / templatetags / documents.py
1 # This file is part of FNP-Redakcja, licensed under GNU Affero GPLv3 or later.
2 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
3 #
4 from django.urls import reverse
5 from django import template
6 from django.utils.translation import ugettext as _
7
8 register = template.Library()
9
10
11 class Tab(object):
12     slug = None
13     caption = None
14     url = None
15
16     def __init__(self, slug, caption, url):
17         self.slug = slug
18         self.caption = caption
19         self.url = url
20
21
22 @register.inclusion_tag("documents/main_tabs.html", takes_context=True)
23 def main_tabs(context):
24     active = getattr(context['request'], 'documents_active_tab', None)
25
26     tabs = []
27     user = context['user']
28     tabs.append(Tab('my', _('My page'), reverse("documents_user")))
29
30     tabs.append(Tab('activity', _('Activity'), reverse("documents_activity")))
31     tabs.append(Tab('all', _('All'), reverse("documents_document_list")))
32     tabs.append(Tab('images', _('Images'), reverse("documents_image_list")))
33     tabs.append(Tab('users', _('Users'), reverse("documents_users")))
34
35     if user.has_perm('documents.add_book'):
36         tabs.append(Tab('create', _('Add'), reverse("documents_create_missing")))
37         tabs.append(Tab('upload', _('Upload'), reverse("documents_upload")))
38
39     tabs.append(Tab('cover', _('Covers'), reverse("cover_image_list")))
40
41     return {"tabs": tabs, "active_tab": active}
42
43
44 @register.filter
45 def nice_name(user):
46     return user.get_full_name() or user.username
47