__init__.py 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. from django.urls import path
  2. from django.utils.translation import gettext_lazy as _
  3. from .views import index
  4. from .views import (
  5. ChangeAnalyticsSettingsView,
  6. ChangeCaptchaSettingsView,
  7. ChangeGeneralSettingsView,
  8. ChangeOAuth2SettingsView,
  9. ChangeThreadsSettingsView,
  10. ChangeUsersSettingsView,
  11. )
  12. class MisagoAdminExtension:
  13. def register_urlpatterns(self, urlpatterns):
  14. urlpatterns.namespace("settings/", "settings")
  15. urlpatterns.patterns("settings", path("", index, name="index"))
  16. urlpatterns.single_pattern(
  17. "analytics/",
  18. "analytics",
  19. "settings",
  20. ChangeAnalyticsSettingsView.as_view(),
  21. )
  22. urlpatterns.single_pattern(
  23. "captcha/", "captcha", "settings", ChangeCaptchaSettingsView.as_view()
  24. )
  25. urlpatterns.single_pattern(
  26. "general/", "general", "settings", ChangeGeneralSettingsView.as_view()
  27. )
  28. urlpatterns.single_pattern(
  29. "oauth2/", "oauth2", "settings", ChangeOAuth2SettingsView.as_view()
  30. )
  31. urlpatterns.single_pattern(
  32. "threads/", "threads", "settings", ChangeThreadsSettingsView.as_view()
  33. )
  34. urlpatterns.single_pattern(
  35. "users/", "users", "settings", ChangeUsersSettingsView.as_view()
  36. )
  37. def register_navigation_nodes(self, site):
  38. site.add_node(
  39. name=_("Settings"),
  40. icon="fa fa-cog",
  41. after="themes:index",
  42. namespace="settings",
  43. )
  44. site.add_node(
  45. name=_("General"),
  46. description=_("Change forum details like name, description or footer."),
  47. parent="settings",
  48. namespace="general",
  49. )
  50. site.add_node(
  51. name=_("Users"),
  52. description=_(
  53. "Customize user accounts default behavior and features availability."
  54. ),
  55. parent="settings",
  56. namespace="users",
  57. after="general:index",
  58. )
  59. site.add_node(
  60. name=_("Captcha"),
  61. description=_(
  62. "Setup protection against automatic registrations on the site."
  63. ),
  64. parent="settings",
  65. namespace="captcha",
  66. after="users:index",
  67. )
  68. site.add_node(
  69. name=_("Analytics"),
  70. description=_("Enable Google Analytics or setup Google Site Verification."),
  71. parent="settings",
  72. namespace="analytics",
  73. after="captcha:index",
  74. )
  75. site.add_node(
  76. name=_("Threads"),
  77. description=_("Threads, posts, polls and attachments options."),
  78. parent="settings",
  79. namespace="threads",
  80. after="analytics:index",
  81. )
  82. site.add_node(
  83. name=_("OAuth2"),
  84. description=_(
  85. "Enable OAuth2 client and connect your site to existing auth provider."
  86. ),
  87. parent="settings",
  88. namespace="oauth2",
  89. after="threads:index",
  90. )