panels.py 904 B

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