views.py 2.0 KB

1234567891011121314151617181920212223242526272829303132
  1. from misago.profiles.decorators import profile_view
  2. from misago.profiles.template import RequestContext
  3. from misago.utils import make_pagination
  4. @profile_view('user_posts')
  5. def posts(request, user, page=0):
  6. queryset = user.post_set.filter(forum_id__in=request.acl.threads.get_readable_forums(request.acl)).filter(deleted=False).filter(moderated=False).select_related('thread', 'forum').order_by('-id')
  7. count = queryset.count()
  8. pagination = make_pagination(page, count, 12)
  9. return request.theme.render_to_response('profiles/content_posts.html',
  10. context_instance=RequestContext(request, {
  11. 'profile': user,
  12. 'tab': 'posts',
  13. 'items_total': count,
  14. 'items': queryset[pagination['start']:pagination['stop']],
  15. 'pagination': pagination,
  16. }));
  17. @profile_view('user_threads')
  18. def threads(request, user, page=0):
  19. queryset = user.thread_set.filter(forum_id__in=request.acl.threads.get_readable_forums(request.acl)).filter(deleted=False).filter(moderated=False).select_related('start_post', 'forum').order_by('-id')
  20. count = queryset.count()
  21. pagination = make_pagination(page, count, 12)
  22. return request.theme.render_to_response('profiles/content_threads.html',
  23. context_instance=RequestContext(request, {
  24. 'profile': user,
  25. 'tab': 'posts',
  26. 'items_total': count,
  27. 'items': queryset[pagination['start']:pagination['stop']],
  28. 'pagination': pagination,
  29. }));