__init__.py 3.4 KB

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