middleware.py 709 B

1234567891011121314151617
  1. from django.conf import settings
  2. from misago.firewalls.firewalls import *
  3. from misago.themes.theme import Theme
  4. class FirewallMiddleware(object):
  5. firewall_admin = FirewallAdmin()
  6. firewall_forum = FirewallForum()
  7. def process_request(self, request):
  8. if settings.ADMIN_PATH and self.firewall_admin.behind_firewall(request.path_info):
  9. request.firewall = self.firewall_admin
  10. request.theme.set_theme('admin')
  11. else:
  12. request.firewall = self.firewall_forum
  13. def process_view(self, request, callback, callback_args, callback_kwargs):
  14. return request.firewall.process_view(request, callback, callback_args, callback_kwargs)