panels.py 843 B

12345678910111213141516171819202122232425262728293031
  1. from django.template.loader import render_to_string
  2. from django.utils.translation import ugettext_lazy as _
  3. from debug_toolbar.panels import Panel
  4. class MisagoACLPanel(Panel):
  5. """
  6. Panel that displays current user's ACL
  7. """
  8. title = _('Misago User ACL')
  9. template = 'misago/acl_debug.html'
  10. @property
  11. def nav_subtitle(self):
  12. misago_user = self.get_stats().get('misago_user')
  13. if misago_user.is_authenticated():
  14. return misago_user.username
  15. else:
  16. return _("Anonymous user")
  17. def process_response(self, request, response):
  18. if hasattr(request.user, 'acl'):
  19. misago_acl = request.user.acl
  20. else:
  21. misago_acl = {}
  22. self.record_stats({
  23. 'misago_user': request.user,
  24. 'misago_acl': misago_acl,
  25. })