X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/45b36abf753366dd523cae85a8eced7e5c9711e0..4cf27ad4ae5ac3610e857379b2a788582580aa5b:/apps/catalogue/models.py diff --git a/apps/catalogue/models.py b/apps/catalogue/models.py index 9f26ae5b2..a94411191 100644 --- a/apps/catalogue/models.py +++ b/apps/catalogue/models.py @@ -782,14 +782,26 @@ class Book(models.Model): return self._related_info else: rel = {'tags': {}, 'media': {}} + tags = self.tags.filter(category__in=( 'author', 'kind', 'genre', 'epoch')) tags = split_tags(tags) for category in tags: rel['tags'][category] = [ - (t.name, t.get_absolute_url()) for t in tags[category]] + (t.name, t.slug) for t in tags[category]] + for media_format in BookMedia.formats: rel['media'][media_format] = self.has_media(media_format) + + book = self + parents = [] + while book.parent: + parents.append((book.parent.title, book.parent.slug)) + book = book.parent + parents = parents[::-1] + if parents: + rel['parents'] = parents + if self.pk: type(self).objects.filter(pk=self.pk).update(_related_info=rel) return rel