forked from mirrors/bookwyrm
Set default edition on bookwyrm import
This commit is contained in:
parent
83852e29eb
commit
fe67f65307
3 changed files with 10 additions and 4 deletions
|
@ -7,7 +7,11 @@ class Connector(AbstractMinimalConnector):
|
||||||
''' this is basically just for search '''
|
''' this is basically just for search '''
|
||||||
|
|
||||||
def get_or_create_book(self, remote_id):
|
def get_or_create_book(self, remote_id):
|
||||||
return activitypub.resolve_remote_id(models.Edition, remote_id)
|
edition = activitypub.resolve_remote_id(models.Edition, remote_id)
|
||||||
|
work = edition.parent_work
|
||||||
|
work.default_edition = work.get_default_edition()
|
||||||
|
work.save()
|
||||||
|
return edition
|
||||||
|
|
||||||
def parse_search_data(self, data):
|
def parse_search_data(self, data):
|
||||||
return data
|
return data
|
||||||
|
|
|
@ -131,12 +131,14 @@ class Work(OrderedCollectionPageMixin, Book):
|
||||||
|
|
||||||
def get_default_edition(self):
|
def get_default_edition(self):
|
||||||
''' in case the default edition is not set '''
|
''' in case the default edition is not set '''
|
||||||
return self.default_edition or self.editions.first()
|
return self.default_edition or self.editions.order_by(
|
||||||
|
'-edition_rank'
|
||||||
|
).first()
|
||||||
|
|
||||||
def to_edition_list(self, **kwargs):
|
def to_edition_list(self, **kwargs):
|
||||||
''' an ordered collection of editions '''
|
''' an ordered collection of editions '''
|
||||||
return self.to_ordered_collection(
|
return self.to_ordered_collection(
|
||||||
self.editions.order_by('-updated_date').all(),
|
self.editions.order_by('-edition_rank').all(),
|
||||||
remote_id='%s/editions' % self.remote_id,
|
remote_id='%s/editions' % self.remote_id,
|
||||||
**kwargs
|
**kwargs
|
||||||
)
|
)
|
||||||
|
|
|
@ -736,7 +736,7 @@ def editions_page(request, book_id):
|
||||||
|
|
||||||
data = {
|
data = {
|
||||||
'title': 'Editions of %s' % work.title,
|
'title': 'Editions of %s' % work.title,
|
||||||
'editions': work.editions.all(),
|
'editions': work.editions.order_by('-edition_rank').all(),
|
||||||
'work': work,
|
'work': work,
|
||||||
}
|
}
|
||||||
return TemplateResponse(request, 'editions.html', data)
|
return TemplateResponse(request, 'editions.html', data)
|
||||||
|
|
Loading…
Reference in a new issue