panels.py 910 B

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