Preliminary source objects.
[redakcja.git] / src / isbn / templatetags / isbn.py
1 from django.template import Library
2 from isbn.models import Isbn
3
4
5 register = Library()
6
7
8 @register.inclusion_tag('isbn/isbn_status.html', takes_context=True)
9 def isbn_status(context, book):
10     user = context['request'].user
11     formats = Isbn.formats_from_document(book)
12
13     can_generate = False
14     error = ''
15     for f, v in formats:
16         if not v:
17             can_generate = True
18
19     if can_generate:
20         if not user.has_perm('isbn.add_isbn'):
21             can_generate = False
22
23     if can_generate:
24         try:
25             book.catalogue_book
26         except:
27             can_generate = False
28             error = 'Brak książki w katalogu.'
29
30     return {
31         'book': book,
32         'formats': formats,
33         'can_generate': can_generate,
34         'error': error,
35     }
36