X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/89e8405b168762835c1531841384ae849dd93f97..3b432b134c57aad46da1eadebc31f01d35368719:/apps/catalogue/views.py diff --git a/apps/catalogue/views.py b/apps/catalogue/views.py index 556bae1fe..79faca7a4 100644 --- a/apps/catalogue/views.py +++ b/apps/catalogue/views.py @@ -81,8 +81,13 @@ def book_list(request): orphans = [] books_by_author = SortedDict() + books_nav = SortedDict() for tag in models.Tag.objects.filter(category='author'): books_by_author[tag] = [] + if books_nav.has_key(tag.sort_key[0]): + books_nav[tag.sort_key[0]].append(tag) + else: + books_nav[tag.sort_key[0]] = [tag] for book in books_by_parent[None]: authors = list(book.tags.filter(category='author')) @@ -159,7 +164,7 @@ def tagged_object_list(request, tags=''): objects = fragments else: # get relevant books and their tags - objects = models.Book.tagged.with_all(tags).order_by() + objects = models.Book.tagged.with_all(tags) if not shelf_is_set: # eliminate descendants l_tags = models.Tag.objects.filter(category='book', slug__in=[book.book_tag_slug() for book in objects]) @@ -257,6 +262,8 @@ def book_stub_detail(request, slug): def book_text(request, slug): book = get_object_or_404(models.Book, slug=slug) + if not book.has_html_file(): + raise Http404 book_themes = {} for fragment in book.fragments.all(): for theme in fragment.tags.filter(category='theme'):