mirror of
https://github.com/bookwyrm-social/bookwyrm.git
synced 2024-11-25 19:11:09 +00:00
Merge pull request #834 from mouse-reeve/custom-shelf-identifier-fix
Fixes shelf remote ids
This commit is contained in:
commit
c29382ba92
1 changed files with 9 additions and 4 deletions
|
@ -37,9 +37,13 @@ class Shelf(OrderedCollectionMixin, BookWyrmModel):
|
|||
""" set the identifier """
|
||||
super().save(*args, **kwargs)
|
||||
if not self.identifier:
|
||||
slug = re.sub(r"[^\w]", "", self.name).lower()
|
||||
self.identifier = "%s-%d" % (slug, self.id)
|
||||
super().save(*args, **kwargs)
|
||||
self.identifier = self.get_identifier()
|
||||
super().save(*args, **kwargs, broadcast=False)
|
||||
|
||||
def get_identifier(self):
|
||||
""" custom-shelf-123 for the url """
|
||||
slug = re.sub(r"[^\w]", "", self.name).lower()
|
||||
return "{:s}-{:d}".format(slug, self.id)
|
||||
|
||||
@property
|
||||
def collection_queryset(self):
|
||||
|
@ -49,7 +53,8 @@ class Shelf(OrderedCollectionMixin, BookWyrmModel):
|
|||
def get_remote_id(self):
|
||||
""" shelf identifier instead of id """
|
||||
base_path = self.user.remote_id
|
||||
return "%s/books/%s" % (base_path, self.identifier)
|
||||
identifier = self.identifier or self.get_identifier()
|
||||
return "%s/books/%s" % (base_path, identifier)
|
||||
|
||||
class Meta:
|
||||
""" user/shelf unqiueness """
|
||||
|
|
Loading…
Reference in a new issue