@classmethod
def url(cls, book):
""" Returns Book's URL on the site. """
-
return WL_BASE + book.get_absolute_url()
@classmethod
def children(cls, book):
""" Returns all children for a book. """
-
- return book.children.all()
+ return book.children.order_by('parent_number', 'sort_key')
@classmethod
def media(cls, book):
"""
allowed_methods = ['GET']
fields = ['title', 'parent', 'children'] + Book.formats + [
- 'media', 'url', 'cover', 'cover_thumb'] + [
+ 'media', 'url', 'cover', 'cover_thumb', 'fragment_data'] + [
category_plural[c] for c in book_tag_categories]
@piwik_track
class FilterBooksHandler(AnonymousBooksHandler):
fields = book_tag_categories + [
- 'href', 'title', 'url', 'cover', 'cover_thumb', 'slug', 'cover_source_image', 'fragment_data']
+ 'href', 'title', 'url', 'cover', 'cover_thumb', 'slug', 'cover_source_image']
def read(self, request, title_part=None, author_part=None, is_lektura=None, is_audiobook=None,
after=None, before=None, count=None):
books = books.filter(media__type='mp3')
else:
books = books.exclude(media__type='mp3')
+ for key in request.GET:
+ if key in category_singular:
+ category = category_singular[key]
+ if category in book_tag_categories:
+ slugs = request.GET[key].split(',')
+ tags = Tag.objects.filter(category=category, slug__in=slugs)
+ books = Book.tagged.with_any(tags, books)
return super(FilterBooksHandler, self).read(request, books=books, after=after, before=before, count=count)