admin.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. from django.conf.urls import url
  2. from django.utils.deprecation import MiddlewareMixin
  3. from django.utils.translation import gettext_lazy as _
  4. from .themes.views import (
  5. ActivateTheme,
  6. DeleteTheme,
  7. EditTheme,
  8. NewTheme,
  9. ThemeAssets,
  10. ThemesList,
  11. )
  12. class MisagoAdminExtension(MiddlewareMixin):
  13. def register_urlpatterns(self, urlpatterns):
  14. # Appearance section
  15. urlpatterns.namespace(r"^appearance/", "appearance")
  16. # Themes
  17. urlpatterns.namespace(r"^themes/", "themes", "appearance")
  18. urlpatterns.patterns(
  19. "appearance:themes",
  20. url(r"^$", ThemesList.as_view(), name="index"),
  21. url(r"^new/$", NewTheme.as_view(), name="new"),
  22. url(r"^edit/(?P<pk>\d+)/$", EditTheme.as_view(), name="edit"),
  23. url(r"^delete/(?P<pk>\d+)/$", DeleteTheme.as_view(), name="delete"),
  24. url(r"^activate/(?P<pk>\d+)/$", ActivateTheme.as_view(), name="activate"),
  25. url(r"^assets/(?P<pk>\d+)/$", ThemeAssets.as_view(), name="assets"),
  26. )
  27. def register_navigation_nodes(self, site):
  28. site.add_node(
  29. name=_("Home"),
  30. icon="fa fa-home",
  31. parent="misago:admin",
  32. link="misago:admin:index",
  33. )
  34. site.add_node(
  35. name=_("Appearance"),
  36. icon="fa fa-paint-brush",
  37. parent="misago:admin",
  38. namespace="misago:admin:appearance",
  39. link="misago:admin:appearance:themes:index",
  40. )
  41. site.add_node(
  42. name=_("Themes"),
  43. icon="fa fa-tint",
  44. parent="misago:admin:appearance",
  45. namespace="misago:admin:appearance:themes",
  46. link="misago:admin:appearance:themes:index",
  47. )