__init__.py 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. from django.conf.urls import url
  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. ChangeSSOSettingsView,
  9. ChangeThreadsSettingsView,
  10. ChangeUsersSettingsView,
  11. )
  12. class MisagoAdminExtension:
  13. def register_urlpatterns(self, urlpatterns):
  14. urlpatterns.namespace(r"^settings/", "settings")
  15. urlpatterns.patterns("settings", url(r"^$", index, name="index"))
  16. urlpatterns.single_pattern(
  17. r"^analytics/",
  18. "analytics",
  19. "settings",
  20. ChangeAnalyticsSettingsView.as_view(),
  21. )
  22. urlpatterns.single_pattern(
  23. r"^captcha/", "captcha", "settings", ChangeCaptchaSettingsView.as_view()
  24. )
  25. urlpatterns.single_pattern(
  26. r"^general/", "general", "settings", ChangeGeneralSettingsView.as_view()
  27. )
  28. urlpatterns.single_pattern(
  29. r"^sso/", "sso", "settings", ChangeSSOSettingsView.as_view()
  30. )
  31. urlpatterns.single_pattern(
  32. r"^threads/", "threads", "settings", ChangeThreadsSettingsView.as_view()
  33. )
  34. urlpatterns.single_pattern(
  35. r"^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=_("Single Sign-On"),
  70. description=_(
  71. "SSO enables you to delegate user login and registration from Misago to"
  72. "the third party site."
  73. ),
  74. parent="settings",
  75. namespace="sso",
  76. after="captcha:index",
  77. )
  78. site.add_node(
  79. name=_("Analytics"),
  80. description=_("Enable Google Analytics or setup Google Site Verification."),
  81. parent="settings",
  82. namespace="analytics",
  83. after="sso:index",
  84. )
  85. site.add_node(
  86. name=_("Threads"),
  87. description=_("Threads, posts, polls and attachments options."),
  88. parent="settings",
  89. namespace="threads",
  90. after="analytics:index",
  91. )