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(object):
  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. )