__init__.py 3.2 KB

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