__init__.py 2.2 KB

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