panels.py 863 B

12345678910111213141516171819202122232425262728293031
  1. from debug_toolbar.panels import Panel
  2. from django.utils.translation import gettext_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 = request.user_acl
  21. except AttributeError:
  22. misago_acl = {}
  23. self.record_stats({"misago_user": misago_user, "misago_acl": misago_acl})