newsfeed.py 991 B

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