X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/9a938c8b406ce05e3bca4a5a483d473ece9e17b0..ab72083a61fc7a6257101b31ec92d12ea61c7a03:/src/catalogue/views.py?ds=sidebyside diff --git a/src/catalogue/views.py b/src/catalogue/views.py index 195513734..81d0a02b8 100644 --- a/src/catalogue/views.py +++ b/src/catalogue/views.py @@ -108,6 +108,11 @@ def object_list(request, objects, fragments=None, related_tags=None, tags=None, categories = split_tags(*related_tag_lists) objects = list(objects) + + if not objects and len(tags) == 1 and list_type == 'books': + if PictureArea.tagged.with_any(tags).exists() or Picture.tagged.with_any(tags).exists(): + return redirect('tagged_object_list_gallery', '/'.join(tag.url_chunk for tag in tags)) + if len(objects) > 3: best = random.sample(objects, 3) else: @@ -201,10 +206,7 @@ def theme_list(request, tags, list_type): fragments = fragments.filter(Q(book__in=books) | Q(book__ancestor__in=books)) if not fragments and len(tags) == 1 and list_type == 'books': - tag = tags[0] - if tag.category == 'theme' and ( - PictureArea.tagged.with_any([tag]).exists() or - Picture.tagged.with_any([tag]).exists()): + if PictureArea.tagged.with_any(tags).exists() or Picture.tagged.with_any(tags).exists(): return redirect('tagged_object_list_gallery', '/'.join(tag.url_chunk for tag in tags)) return object_list(request, fragments, tags=tags, list_type=list_type, extra={