Fix pagevote and bookmark bug for new objects

This commit is contained in:
cuom1999 2023-08-03 23:19:45 +07:00
parent 36e27321f7
commit 4ceae6d066
7 changed files with 32 additions and 44 deletions

View file

@ -11,8 +11,8 @@ from mptt.fields import TreeForeignKey
from mptt.models import MPTTModel
from judge.models.profile import Organization, Profile
from judge.models.pagevote import PageVote
from judge.models.bookmark import BookMark
from judge.models.pagevote import PageVotable
from judge.models.bookmark import Bookmarkable
__all__ = ["MiscConfig", "validate_regex", "NavigationBar", "BlogPost"]
@ -74,7 +74,7 @@ class NavigationBar(MPTTModel):
return pattern
class BlogPost(models.Model):
class BlogPost(models.Model, PageVotable, Bookmarkable):
title = models.CharField(verbose_name=_("post title"), max_length=100)
authors = models.ManyToManyField(Profile, verbose_name=_("authors"), blank=True)
slug = models.SlugField(verbose_name=_("slug"))
@ -132,22 +132,6 @@ class BlogPost(models.Model):
and self.authors.filter(id=user.profile.id).exists()
)
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
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")),)
verbose_name = _("blog post")