panels.py 843 B

123456789101112131415161718192021222324252627282930
  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. return _("Anonymous user")
  13. def generate_stats(self, request, response):
  14. try:
  15. misago_user = request.user
  16. except AttributeError:
  17. misago_user = None
  18. try:
  19. misago_acl = request.user_acl
  20. except AttributeError:
  21. misago_acl = {}
  22. self.record_stats({"misago_user": misago_user, "misago_acl": misago_acl})