views.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. from django.core.urlresolvers import reverse
  2. from django.shortcuts import redirect
  3. from django.template import RequestContext
  4. from misago.sessions.models import Session
  5. from misago.forums.models import Forum
  6. def home(request):
  7. team_online = []
  8. team_pks = []
  9. for session in Session.objects.filter(team=1).filter(admin=0).order_by('-start').select_related('user', 'user__rank'):
  10. if session.user.pk not in team_pks:
  11. team_pks.append(session.user.pk)
  12. team_online.append(session.user)
  13. return request.theme.render_to_response('index.html',
  14. {
  15. 'forums_list': Forum.objects.treelist(request.acl.forums.known_forums()),
  16. 'team_online': team_online,
  17. },
  18. context_instance=RequestContext(request));
  19. def redirect_message(request, message, type='info', owner=None):
  20. request.messages.set_flash(message, type, owner)
  21. return redirect(reverse('index'))
  22. def error403(request, message=None):
  23. return error_view(request, 403, message)
  24. def error404(request, message=None):
  25. return error_view(request, 404, message)
  26. def error_view(request, error, message):
  27. response = request.theme.render_to_response(('error%s.html' % error),
  28. {
  29. 'message': message,
  30. 'hide_signin': True,
  31. 'exception_response': True,
  32. },
  33. context_instance=RequestContext(request));
  34. response.status_code = error
  35. return response