tag page, short_html
[wolnelektury.git] / apps / catalogue / views.py
index 8bf5681..f1eeab7 100644 (file)
@@ -31,7 +31,9 @@ from catalogue.tasks import touch_tag
 from pdcounter import models as pdcounter_models
 from pdcounter import views as pdcounter_views
 from suggest.forms import PublishingSuggestForm
+from picture.models import Picture
 
+from itertools import chain
 from os import path
 
 staff_required = user_passes_test(lambda user: user.is_staff)
@@ -46,7 +48,6 @@ def catalogue(request):
     categories = split_tags(tags)
     fragment_tags = categories.get('theme', [])
 
-    form = forms.SearchForm()
     return render_to_response('catalogue/catalogue.html', locals(),
         context_instance=RequestContext(request))
 
@@ -54,8 +55,6 @@ def catalogue(request):
 def book_list(request, filter=None, template_name='catalogue/book_list.html'):
     """ generates a listing of all books, optionally filtered with a test function """
 
-    form = forms.SearchForm()
-
     books_by_author, orphans, books_by_parent = models.Book.book_list(filter)
     books_nav = SortedDict()
     for tag in books_by_author:
@@ -91,6 +90,7 @@ def differentiate_tags(request, tags, ambiguous_slugs):
 
 
 def tagged_object_list(request, tags=''):
+    #    import pdb; pdb.set_trace()
     try:
         tags = models.Tag.get_tag_list(tags)
     except models.Tag.DoesNotExist:
@@ -169,6 +169,9 @@ def tagged_object_list(request, tags=''):
         only_author = len(tags) == 1 and tags[0].category == 'author'
         objects = models.Book.objects.none()
 
+        # Add pictures
+    objects = Picture.tagged.with_all(tags)|objects
+
     return object_list(
         request,
         objects,
@@ -194,7 +197,6 @@ def book_fragments(request, book, theme_slug):
     theme = get_object_or_404(models.Tag, slug=theme_slug, category='theme')
     fragments = models.Fragment.tagged.with_all([book_tag, theme])
 
-    form = forms.SearchForm()
     return render_to_response('catalogue/book_fragments.html', locals(),
         context_instance=RequestContext(request))
 
@@ -240,7 +242,6 @@ def book_detail(request, book):
         projects.add((project, meta.get('funded_by', '')))
     projects = sorted(projects)
 
-    form = forms.SearchForm()
     custom_pdf_form = forms.CustomPDFForm()
     return render_to_response('catalogue/book_detail.html', locals(),
         context_instance=RequestContext(request))