Merge branch 'master' into rwd
[wolnelektury.git] / apps / catalogue / templatetags / catalogue_tags.py
index 6a30a9c..e80a5ff 100644 (file)
@@ -14,9 +14,9 @@ from django.core.urlresolvers import reverse
 from django.contrib.auth.forms import UserCreationForm, AuthenticationForm
 from django.utils.translation import ugettext as _
 
-from catalogue.utils import split_tags
+from catalogue.utils import split_tags, related_tag_name as _related_tag_name
 from catalogue.models import Book, BookMedia, Fragment, Tag
-from catalogue.constants import LICENSES
+from catalogue.constants import LICENSES, LANGUAGES_3TO2
 
 register = template.Library()
 
@@ -335,6 +335,7 @@ def book_wide(context, book):
         'hide_about': hide_about,
         'themes': book_themes,
         'request': context.get('request'),
+        'show_lang': book.language_code() != settings.LANGUAGE_CODE,
     }
 
 
@@ -345,24 +346,28 @@ def book_short(context, book):
         'main_link': book.get_absolute_url(),
         'related': book.related_info(),
         'request': context.get('request'),
+        'show_lang': book.language_code() != settings.LANGUAGE_CODE,
     }
 
 
 @register.inclusion_tag('catalogue/book_mini_box.html')
-def book_mini(book):
-    author_str = ", ".join(name
-        for name, url in book.related_info()['tags']['author'])
+def book_mini(book, with_link=True):
+    author_str = ", ".join(related_tag_name(tag)
+        for tag in book.related_info()['tags'].get('author', ()))
     return {
         'book': book,
         'author_str': author_str,
+        'with_link': with_link,
+        'show_lang': book.language_code() != settings.LANGUAGE_CODE,
     }
 
 
 @register.inclusion_tag('catalogue/work-list.html', takes_context=True)
 def work_list(context, object_list):
     request = context.get('request')
-    if object_list:
-        object_type = type(object_list[0]).__name__
+    for obj in object_list:
+        obj.object_type = type(object_list[0]).__name__
+
     return locals()
 
 
@@ -463,3 +468,14 @@ def license_icon(license_url):
         "icon": "img/licenses/%s.png" % known['icon'],
         "license_description": known['description'],
     }
+
+
+@register.simple_tag
+def related_tag_name(tag, lang=None):
+    return _related_tag_name(tag, lang)
+
+
+@register.simple_tag
+def class_name(obj):
+    return obj.__class__.__name__
+