123456789101112131415161718192021222324252627282930 |
- from django.conf import settings
- from misago.security.firewalls import *
- from misago.security.models import JamCache
- from misago.themes.theme import Theme
- class FirewallMiddleware(object):
- firewall_admin = FirewallAdmin()
- firewall_forum = FirewallForum()
- def process_request(self, request):
- # Admin firewall test
- if settings.ADMIN_PATH and self.firewall_admin.behind_firewall(request.path_info):
- request.firewall = self.firewall_admin
- request.theme.set_theme('admin')
- else:
- request.firewall = self.firewall_forum
- def process_view(self, request, callback, callback_args, callback_kwargs):
- return request.firewall.process_view(request, callback, callback_args, callback_kwargs)
- class JamMiddleware(object):
- def process_request(self, request):
- if request.user.is_crawler():
- return None
- try:
- request.jam = request.session['jam']
- except KeyError:
- request.jam = JamCache()
- request.session['jam'] = request.jam
- if not request.firewall.admin:
- request.jam.check_for_updates(request)
|