__init__.py 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. from django.conf.urls import url
  2. from django.utils.translation import gettext_lazy as _
  3. from .views import (
  4. ActivateTheme,
  5. DeleteTheme,
  6. DeleteThemeCss,
  7. DeleteThemeMedia,
  8. EditTheme,
  9. EditThemeCss,
  10. MoveThemeCssDown,
  11. MoveThemeCssUp,
  12. NewTheme,
  13. NewThemeCss,
  14. ThemeAssets,
  15. ThemesList,
  16. UploadThemeCss,
  17. UploadThemeMedia,
  18. )
  19. class MisagoAdminExtension:
  20. def register_urlpatterns(self, urlpatterns):
  21. # Appearance section
  22. urlpatterns.namespace(r"^appearance/", "appearance")
  23. # Themes
  24. urlpatterns.namespace(r"^themes/", "themes", "appearance")
  25. urlpatterns.patterns(
  26. "appearance:themes",
  27. url(r"^$", ThemesList.as_view(), name="index"),
  28. url(r"^new/$", NewTheme.as_view(), name="new"),
  29. url(r"^edit/(?P<pk>\d+)/$", EditTheme.as_view(), name="edit"),
  30. url(r"^delete/(?P<pk>\d+)/$", DeleteTheme.as_view(), name="delete"),
  31. url(r"^activate/(?P<pk>\d+)/$", ActivateTheme.as_view(), name="activate"),
  32. url(r"^assets/(?P<pk>\d+)/$", ThemeAssets.as_view(), name="assets"),
  33. url(
  34. r"^assets/(?P<pk>\d+)/delete-css/$",
  35. DeleteThemeCss.as_view(),
  36. name="delete-css",
  37. ),
  38. url(
  39. r"^assets/(?P<pk>\d+)/delete-media/$",
  40. DeleteThemeMedia.as_view(),
  41. name="delete-media",
  42. ),
  43. url(
  44. r"^assets/(?P<pk>\d+)/upload-css/$",
  45. UploadThemeCss.as_view(),
  46. name="upload-css",
  47. ),
  48. url(
  49. r"^assets/(?P<pk>\d+)/upload-media/$",
  50. UploadThemeMedia.as_view(),
  51. name="upload-media",
  52. ),
  53. url(
  54. r"^assets/(?P<pk>\d+)/move-css-down/(?P<css_pk>\d+)/$",
  55. MoveThemeCssDown.as_view(),
  56. name="move-css-down",
  57. ),
  58. url(
  59. r"^assets/(?P<pk>\d+)/move-css-up/(?P<css_pk>\d+)/$",
  60. MoveThemeCssUp.as_view(),
  61. name="move-css-up",
  62. ),
  63. url(
  64. r"^assets/(?P<pk>\d+)/new-css/$", NewThemeCss.as_view(), name="new-css"
  65. ),
  66. url(
  67. r"^assets/(?P<pk>\d+)/edit-css/(?P<css_pk>\d+)/$",
  68. EditThemeCss.as_view(),
  69. name="edit-css",
  70. ),
  71. )
  72. def register_navigation_nodes(self, site):
  73. site.add_node(
  74. name=_("Home"),
  75. icon="fa fa-home",
  76. parent="misago:admin",
  77. link="misago:admin:index",
  78. )
  79. site.add_node(
  80. name=_("Appearance"),
  81. icon="fa fa-paint-brush",
  82. parent="misago:admin",
  83. namespace="misago:admin:appearance",
  84. link="misago:admin:appearance:themes:index",
  85. )
  86. site.add_node(
  87. name=_("Themes"),
  88. icon="fa fa-tint",
  89. parent="misago:admin:appearance",
  90. namespace="misago:admin:appearance:themes",
  91. link="misago:admin:appearance:themes:index",
  92. )