__init__.py 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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. ChangeThreadsSettingsView,
  9. ChangeUsersSettingsView,
  10. )
  11. class MisagoAdminExtension:
  12. def register_urlpatterns(self, urlpatterns):
  13. urlpatterns.namespace(r"^settings/", "settings")
  14. urlpatterns.patterns("settings", url(r"^$", index, name="index"))
  15. urlpatterns.single_pattern(
  16. r"^analytics/",
  17. "analytics",
  18. "settings",
  19. ChangeAnalyticsSettingsView.as_view(),
  20. )
  21. urlpatterns.single_pattern(
  22. r"^captcha/", "captcha", "settings", ChangeCaptchaSettingsView.as_view()
  23. )
  24. urlpatterns.single_pattern(
  25. r"^general/", "general", "settings", ChangeGeneralSettingsView.as_view()
  26. )
  27. urlpatterns.single_pattern(
  28. r"^threads/", "threads", "settings", ChangeThreadsSettingsView.as_view()
  29. )
  30. urlpatterns.single_pattern(
  31. r"^users/", "users", "settings", ChangeUsersSettingsView.as_view()
  32. )
  33. def register_navigation_nodes(self, site):
  34. site.add_node(
  35. name=_("Settings"),
  36. icon="fa fa-cog",
  37. after="themes:index",
  38. namespace="settings",
  39. )
  40. site.add_node(
  41. name=_("General"),
  42. description=_("Change forum details like name, description or footer."),
  43. parent="settings",
  44. namespace="general",
  45. )
  46. site.add_node(
  47. name=_("Users"),
  48. description=_(
  49. "Customize user accounts default behaviour and features availability."
  50. ),
  51. parent="settings",
  52. namespace="users",
  53. after="general:index",
  54. )
  55. site.add_node(
  56. name=_("Captcha"),
  57. description=_(
  58. "Setup protection against automatic registrations on the site."
  59. ),
  60. parent="settings",
  61. namespace="captcha",
  62. after="users:index",
  63. )
  64. site.add_node(
  65. name=_("Analytics"),
  66. description=_("Enable Google Analytics or setup Google Site Verification."),
  67. parent="settings",
  68. namespace="analytics",
  69. after="captcha:index",
  70. )
  71. site.add_node(
  72. name=_("Threads"),
  73. description=_("Those settings control threads and posts."),
  74. parent="settings",
  75. namespace="threads",
  76. after="analytics:index",
  77. )