fix
This commit is contained in:
parent
5301e02856
commit
ac6a7e1552
2 changed files with 13 additions and 10 deletions
|
@ -134,7 +134,7 @@ class Topic(models.Model):
|
|||
|
||||
@property
|
||||
def head(self):
|
||||
'None'#return self.posts.all().order_by('created').select_related()[0]
|
||||
return self.posts.select_related().order_by('created')[0]
|
||||
|
||||
@property
|
||||
def reply_count(self):
|
||||
|
@ -214,6 +214,7 @@ class Post(models.Model):
|
|||
if self_id == head_post_id:
|
||||
self.topic.delete()
|
||||
|
||||
|
||||
class Reputation(models.Model):
|
||||
from_user = models.ForeignKey(User, related_name='reputations_from', verbose_name=_('From'))
|
||||
to_user = models.ForeignKey(User, related_name='reputations_to', verbose_name=_('To'))
|
||||
|
@ -228,7 +229,8 @@ class Reputation(models.Model):
|
|||
|
||||
def __unicode__(self):
|
||||
return u'T[%d], FU[%d], TU[%d]: %s' % (self.topic.id, self.from_user.id, self.to_user.id, unicode(self.time))
|
||||
|
||||
|
||||
|
||||
class Profile(models.Model):
|
||||
user = AutoOneToOneField(User, related_name='forum_profile', verbose_name=_('User'))
|
||||
status = models.CharField(_('Status'), max_length=30, blank=True, null=True)
|
||||
|
@ -256,8 +258,8 @@ class Profile(models.Model):
|
|||
verbose_name_plural = _('Profiles')
|
||||
|
||||
def last_post(self):
|
||||
posts = Post.objects.filter(user=self.user).order_by('-created').select_related()
|
||||
if posts.count():
|
||||
posts = Post.objects.filter(user=self.user).order_by('-created')
|
||||
if posts:
|
||||
return posts[0].created
|
||||
else:
|
||||
return None
|
||||
|
@ -289,10 +291,10 @@ class Read(models.Model):
|
|||
self.time = datetime.now()
|
||||
super(Read, self).save(*args, **kwargs)
|
||||
|
||||
|
||||
def __unicode__(self):
|
||||
return u'T[%d], U[%d]: %s' % (self.topic.id, self.user.id, unicode(self.time))
|
||||
|
||||
|
||||
class Report(models.Model):
|
||||
reported_by = models.ForeignKey(User, related_name='reported_by', verbose_name=_('Reported by'))
|
||||
post = models.ForeignKey(Post, verbose_name=_('Post'))
|
||||
|
@ -308,6 +310,7 @@ class Report(models.Model):
|
|||
def __unicode__(self):
|
||||
return u'%s %s' % (self.reported_by ,self.zapped)
|
||||
|
||||
|
||||
class PrivateMessage(models.Model):
|
||||
dst_user = models.ForeignKey(User, verbose_name=_('Recipient'), related_name='dst_users')
|
||||
src_user = models.ForeignKey(User, verbose_name=_('Author'), related_name='src_users')
|
||||
|
@ -353,7 +356,7 @@ class PrivateMessage(models.Model):
|
|||
|
||||
def get_absolute_url(self):
|
||||
return reverse('forum_show_pm', args=[self.id])
|
||||
|
||||
|
||||
|
||||
class Ban(models.Model):
|
||||
user = models.ForeignKey(User, verbose_name=_('Banned user'), related_name='ban_users')
|
||||
|
|
|
@ -523,7 +523,7 @@ def reputation(request, username):
|
|||
reputation_id = reputation_match.group(1)
|
||||
reputation = get_object_or_404(Reputation, pk=reputation_id)
|
||||
reputation.delete()
|
||||
|
||||
|
||||
return HttpResponseRedirect(reverse('index'))
|
||||
elif form.is_valid():
|
||||
form.save()
|
||||
|
@ -660,7 +660,7 @@ def unstick_topic(request, topic_id):
|
|||
@render_to('forum/delete_post.html')
|
||||
def delete_post(request, post_id):
|
||||
post = get_object_or_404(Post, pk=post_id)
|
||||
last_post = post.topic.posts.order_by('-created')[0]
|
||||
last_post = post.topic.last_post
|
||||
topic = post.topic
|
||||
forum = post.topic.forum
|
||||
|
||||
|
@ -674,9 +674,9 @@ def delete_post(request, post_id):
|
|||
return HttpResponseRedirect(post.get_absolute_url())
|
||||
|
||||
post.delete()
|
||||
profile = get_object_or_404(Profile, user=post.user)
|
||||
profile = post.user.forum_profile
|
||||
profile.post_count = Post.objects.filter(user=post.user).count()
|
||||
profile.save()
|
||||
profile.save()
|
||||
|
||||
try:
|
||||
Topic.objects.get(pk=topic.id)
|
||||
|
|
Reference in a new issue