__init__.py 1.8 KB

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