__init__.py 2.8 KB

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