Added inclusion tag for book.
authorMarek Stępniowski <marek@stepniowski.com>
Wed, 3 Sep 2008 22:49:28 +0000 (00:49 +0200)
committerMarek Stępniowski <marek@stepniowski.com>
Wed, 3 Sep 2008 22:49:28 +0000 (00:49 +0200)
catalogue/templatetags/catalogue_tags.py
templates/catalogue/_book.html

index 3c75801..d3a25ad 100644 (file)
@@ -4,6 +4,7 @@ from django.template import Node, Variable
 from django.utils.encoding import smart_str
 from django.core.urlresolvers import reverse
 from django.contrib.auth.forms import UserCreationForm, AuthenticationForm
+from django.db.models import Q
 
 
 register = template.Library()
@@ -116,6 +117,22 @@ def breadcrumbs(tags, search_form=True):
     return context
 
 
+@register.inclusion_tag('catalogue/_book.html')
+def book(book):
+    tags = book.tags.filter(~Q(category__in=('set', 'theme')))
+    tags = [u'<a href="%s">%s</a>' % (tag.get_absolute_url(), tag.name) for tag in tags]
+    
+    formats = []
+    if book.html_file:
+        formats.append(u'<a href="%s">Czytaj online</a>' % book.html_file.url)
+    if book.pdf_file:
+        formats.append(u'<a href="%s">Plik PDF</a>' % book.pdf_file.url)
+    if book.odt_file:
+        formats.append(u'<a href="%s">Plik ODT</a>' % book.odt_file.url)
+        
+    return {'book': book, 'tags': tags, 'formats': formats}
+
+
 @register.tag
 def catalogue_url(parser, token):
     bits = token.split_contents()
index 7666b61..08cb12c 100644 (file)
@@ -7,24 +7,7 @@
     <div class="book-thumbnail"></div>
     <div class="book-description">
         <h2><a href="{{ book.get_absolute_url }}">{{ book.title }}</a></h2>
-        <p style="margin: 0">Formaty: 
-            <a href="#">Czytaj online</a>
-            {% if book.pdf_file %}
-                <a href="{{ book.pdf_file.url }}">Pobierz plik PDF</a>
-            {% endif %}
-            {% if book.odt_file %}
-                <a href="{{ book.odt_file.url }}">ODT</a>
-            {% endif %}
-            {% if book.html_file %}
-                <a href="{{ book.html_file.url }}">Pobierz plik HTML</a>
-            {% endif %}
-        </p>
-        <p style="margin: 0">Utwór w kategoriach:
-        {% for tag in book.tags %}
-            {% ifnotequal tag.category "set" %}
-                <a href="{{ tag.get_absolute_url }}">{{ tag }}</a>{% if not forloop.last %},{% endif %}
-            {% endifnotequal %}
-        {% endfor %}
-        </p>
+        <p style="margin: 0">Formaty: {{ formats|join:", "|safe }}</p>
+        <p style="margin: 0">Utwór w kategoriach: {{ tags|join:", "|safe }}</p>
     </div>
 </div>
\ No newline at end of file