12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- from django.core.urlresolvers import reverse
- from django.shortcuts import redirect
- from django.template import RequestContext
- from django.utils.translation import ugettext as _
- from misago.sessions.models import Session
- from misago.forums.models import Forum
- def home(request):
- team_online = []
- team_pks = []
- for session in Session.objects.filter(team=1).filter(admin=0).order_by('-start').select_related('user', 'user__rank'):
- if session.user.pk not in team_pks:
- team_pks.append(session.user.pk)
- team_online.append(session.user)
-
- return request.theme.render_to_response('index.html',
- {
- 'forums_list': Forum.objects.treelist(request.acl.forums.known_forums()),
- 'team_online': team_online,
- },
- context_instance=RequestContext(request));
- def redirection(request, forum, slug):
- if not request.acl.forums.can_see(forum):
- return error404(request)
- try:
- forum = Forum.objects.get(pk=forum, type='redirect')
- if not request.acl.forums.can_browse(forum):
- return error403(request, _("You don't have permission to follow this redirect."))
- forum.redirects += 1
- forum.redirects_delta += 1
- forum.save(force_update=True)
- return redirect(forum.redirect)
- except Forum.DoesNotExist:
- return error404(request)
- def redirect_message(request, message, type='info', owner=None):
- request.messages.set_flash(message, type, owner)
- return redirect(reverse('index'))
- def error403(request, message=None):
- return error_view(request, 403, message)
-
- def error404(request, message=None):
- return error_view(request, 404, message)
- def error_view(request, error, message):
- response = request.theme.render_to_response(('error%s.html' % error),
- {
- 'message': message,
- 'hide_signin': True,
- 'exception_response': True,
- },
- context_instance=RequestContext(request));
- response.status_code = error
- return response
|