Some housekeeping
[redakcja.git] / src / catalogue / templatetags / catalogue.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("catalogue/main_tabs.html", takes_context=True)
23 def main_tabs(context):
24     active = getattr(context['request'], 'catalogue_active_tab', None)
25
26     tabs = []
27     user = context['user']
28     tabs.append(Tab('my', _('My page'), reverse("catalogue_user")))
29
30     tabs.append(Tab('activity', _('Activity'), reverse("catalogue_activity")))
31     tabs.append(Tab('all', _('All'), reverse("catalogue_document_list")))
32     tabs.append(Tab('images', _('Images'), reverse("catalogue_image_list")))
33     tabs.append(Tab('users', _('Users'), reverse("catalogue_users")))
34
35     if user.has_perm('catalogue.add_book'):
36         tabs.append(Tab('create', _('Add'), reverse("catalogue_create_missing")))
37         tabs.append(Tab('upload', _('Upload'), reverse("catalogue_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