diff --git a/fedireads/models/book.py b/fedireads/models/book.py index e209b6b6..f5ea2ba3 100644 --- a/fedireads/models/book.py +++ b/fedireads/models/book.py @@ -91,7 +91,7 @@ class Book(FedireadsModel): ''' constructs the absolute reference to any db object ''' base_path = 'https://%s' % DOMAIN model_name = type(self).__name__.lower() - return '%s/%s/%s' % (base_path, model_name, self.openlibrary_key) + return '%s/book/%s' % (base_path, self.openlibrary_key) def save(self, *args, **kwargs): ''' can't be abstract for query reasons, but you shouldn't USE it ''' @@ -112,6 +112,13 @@ class Work(Book): # library of congress catalog control number lccn = models.CharField(max_length=255, blank=True, null=True) + @property + def default_edition(self): + ed = Edition.objects.filter(parent_work=self, default=True).first() + if not ed: + ed = Edition.objects.filter(parent_work=self).first() + return ed + class Edition(Book): ''' an edition of a book ''' diff --git a/fedireads/templates/book.html b/fedireads/templates/book.html index d4253388..21cfbbe7 100644 --- a/fedireads/templates/book.html +++ b/fedireads/templates/book.html @@ -14,13 +14,12 @@ {% endif %}
Edition of {{ book.parent_work.title }}
{% endif %}{{ active_tab }} rating: {{ rating | stars }}
- {% if book.description %} -{{ book.description | description }}+ {% if book.parent_work.description %} +
{{ book.parent_work.description | description }}{% endif %}
{{ book.parent_work.edition_set.count }} other editions
{% include 'snippets/shelve_button.html' %} diff --git a/fedireads/templates/editions.html b/fedireads/templates/editions.html new file mode 100644 index 00000000..ffd0c75b --- /dev/null +++ b/fedireads/templates/editions.html @@ -0,0 +1,18 @@ +{% extends 'layout.html' %} +{% load fr_display %} +{% block content %} +