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)
     categories = split_tags(tags)
     fragment_tags = categories.get('theme', [])
 
-    form = forms.SearchForm()
     return render_to_response('catalogue/catalogue.html', locals(),
         context_instance=RequestContext(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:
 
 
 def tagged_object_list(request, tags=''):
+    #    import pdb; pdb.set_trace()
     try:
         tags = models.Tag.get_tag_list(tags)
     except models.Tag.DoesNotExist:
         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,
     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))
 
         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))