newsfeed.py 1.0 KB

12345678910111213141516171819202122
  1. from django.template import RequestContext
  2. from misago.decorators import block_guest
  3. from misago.models import Post
  4. @block_guest
  5. def newsfeed(request):
  6. follows = []
  7. for user in request.user.follows.iterator():
  8. follows.append(user.pk)
  9. queryset = []
  10. if follows:
  11. queryset = Post.objects.filter(forum_id__in=request.acl.threads.get_readable_forums(request.acl))
  12. queryset = queryset.filter(deleted=False).filter(moderated=False)
  13. queryset = queryset.filter(user_id__in=follows)
  14. queryset = queryset.prefetch_related('thread', 'forum', 'user').order_by('-id')
  15. queryset = queryset[:18]
  16. return request.theme.render_to_response('newsfeed.html',
  17. {
  18. 'follows': follows,
  19. 'posts': queryset,
  20. },
  21. context_instance=RequestContext(request))