# No info on genre, but there's only one kind related.
subpieces = []
pieces.append([
- t.collective_noun or t.name for t in self['kind']
+ t.collective_noun or t.name for t in related_tags['kind']
])
plural = False
else:
p = []
for sublist in pieces:
for item in sublist[:-2]:
- p.append(item) + ','
+ p.append(item + ',')
for item in sublist[-2:-1]:
- p.append(item) + ' i'
+ p.append(item + ' i')
p.append(sublist[-1])
return ' '.join(p)
@register.simple_tag
-def related_books_2022(instance, limit=4, taken=0):
+def related_books_2022(book=None, picture=None, limit=4, taken=0):
limit -= taken
max_books = limit
books_qs = Book.objects.filter(findable=True)
- books_qs = books_qs.exclude(common_slug=instance.common_slug).exclude(ancestor=instance)
+ if book is not None:
+ books_qs = books_qs.exclude(common_slug=book.common_slug).exclude(ancestor=book)
+ instance = book or picture
books = Book.tagged.related_to(instance, books_qs)[:max_books]
return books
@register.inclusion_tag('catalogue/preview_ad.html', takes_context=True)
def preview_ad(context):
book = Book.objects.filter(parent=None, preview=True).first()
+ if book is None:
+ return {}
return {
'accessible': book.is_accessible_to(context['request'].user),
'book': book,
@register.inclusion_tag('catalogue/preview_ad_homepage.html', takes_context=True)
def preview_ad_homepage(context):
book = Book.objects.filter(parent=None, preview=True).first()
+ if book is None:
+ return {}
return {
'accessible': book.is_accessible_to(context['request'].user),
'book': book,