admin.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. from django.conf.urls import url
  2. from django.utils.translation import gettext_lazy as _
  3. from .views import DeleteRole, EditRole, NewRole, RolesList, RoleUsers
  4. class MisagoAdminExtension:
  5. def register_urlpatterns(self, urlpatterns):
  6. # Permissions section
  7. urlpatterns.namespace(r"^permissions/", "permissions")
  8. # Roles
  9. urlpatterns.namespace(r"^users/", "users", "permissions")
  10. urlpatterns.patterns(
  11. "permissions:users",
  12. url(r"^$", RolesList.as_view(), name="index"),
  13. url(r"^new/$", NewRole.as_view(), name="new"),
  14. url(r"^edit/(?P<pk>\d+)/$", EditRole.as_view(), name="edit"),
  15. url(r"^users/(?P<pk>\d+)/$", RoleUsers.as_view(), name="users"),
  16. url(r"^delete/(?P<pk>\d+)/$", DeleteRole.as_view(), name="delete"),
  17. )
  18. def register_navigation_nodes(self, site):
  19. site.add_node(
  20. name=_("Permissions"),
  21. icon="fa fa-adjust",
  22. parent="misago:admin",
  23. after="misago:admin:users:accounts:index",
  24. namespace="misago:admin:permissions",
  25. link="misago:admin:permissions:users:index",
  26. )
  27. site.add_node(
  28. name=_("User roles"),
  29. icon="fa fa-th-large",
  30. parent="misago:admin:permissions",
  31. namespace="misago:admin:permissions:users",
  32. link="misago:admin:permissions:users:index",
  33. )