From: Jan Szejko Date: Wed, 13 Apr 2016 11:07:54 +0000 (+0200) Subject: redirect to gallery for single tags with no book results X-Git-Url: https://git.mdrn.pl/wolnelektury.git/commitdiff_plain/88fd4555db2f2a3e5a7b4ccc81edb008dc434596?ds=inline redirect to gallery for single tags with no book results --- 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={