Migrate pagevote and bookmark to use content_type
This commit is contained in:
parent
64495be799
commit
36e27321f7
19 changed files with 285 additions and 87 deletions
|
@ -96,6 +96,8 @@ class BlogPost(models.Model):
|
|||
verbose_name=_("private to organizations"), default=False
|
||||
)
|
||||
comments = GenericRelation("Comment")
|
||||
pagevote = GenericRelation("PageVote")
|
||||
bookmark = GenericRelation("BookMark")
|
||||
|
||||
def __str__(self):
|
||||
return self.title
|
||||
|
@ -130,17 +132,21 @@ class BlogPost(models.Model):
|
|||
and self.authors.filter(id=user.profile.id).exists()
|
||||
)
|
||||
|
||||
@cached_property
|
||||
def pagevote(self):
|
||||
page = "b:%s" % self.id
|
||||
pagevote, _ = PageVote.objects.get_or_create(page=page)
|
||||
return pagevote
|
||||
def get_or_create_pagevote(self):
|
||||
if self.pagevote.count():
|
||||
return self.pagevote.first()
|
||||
new_pagevote = PageVote()
|
||||
new_pagevote.linked_object = self
|
||||
new_pagevote.save()
|
||||
return new_pagevote
|
||||
|
||||
@cached_property
|
||||
def bookmark(self):
|
||||
page = "b:%s" % self.id
|
||||
bookmark, _ = BookMark.objects.get_or_create(page=page)
|
||||
return bookmark
|
||||
def get_or_create_bookmark(self):
|
||||
if self.bookmark.count():
|
||||
return self.bookmark.first()
|
||||
new_bookmark = BookMark()
|
||||
new_bookmark.linked_object = self
|
||||
new_bookmark.save()
|
||||
return new_bookmark
|
||||
|
||||
class Meta:
|
||||
permissions = (("edit_all_post", _("Edit all posts")),)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue