admin.py 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. from django.conf.urls import url
  2. from django.utils.translation import ugettext_lazy as _
  3. from misago.users.views.bansadmin import BansList, NewBan, EditBan, DeleteBan
  4. from misago.users.views.rankadmin import (RanksList, NewRank, EditRank,
  5. DeleteRank, MoveUpRank, MoveDownRank,
  6. DefaultRank)
  7. from misago.users.views.useradmin import UsersList, NewUser, EditUser
  8. class MisagoAdminExtension(object):
  9. def register_urlpatterns(self, urlpatterns):
  10. # Users section
  11. urlpatterns.namespace(r'^users/', 'users')
  12. # Accounts
  13. urlpatterns.namespace(r'^accounts/', 'accounts', 'users')
  14. urlpatterns.patterns('users:accounts',
  15. url(r'^$', UsersList.as_view(), name='index'),
  16. url(r'^(?P<page>\d+)/$', UsersList.as_view(), name='index'),
  17. url(r'^new/$', NewUser.as_view(), name='new'),
  18. url(r'^edit/(?P<user_id>\d+)/$', EditUser.as_view(), name='edit'),
  19. )
  20. # Ranks
  21. urlpatterns.namespace(r'^ranks/', 'ranks', 'users')
  22. urlpatterns.patterns('users:ranks',
  23. url(r'^$', RanksList.as_view(), name='index'),
  24. url(r'^new/$', NewRank.as_view(), name='new'),
  25. url(r'^edit/(?P<rank_id>\d+)/$', EditRank.as_view(), name='edit'),
  26. url(r'^default/(?P<rank_id>\d+)/$', DefaultRank.as_view(), name='default'),
  27. url(r'^move/up/(?P<rank_id>\d+)/$', MoveUpRank.as_view(), name='up'),
  28. url(r'^move/down/(?P<rank_id>\d+)/$', MoveDownRank.as_view(), name='down'),
  29. url(r'^delete/(?P<rank_id>\d+)/$', DeleteRank.as_view(), name='delete'),
  30. )
  31. # Bans
  32. urlpatterns.namespace(r'^bans/', 'bans', 'users')
  33. urlpatterns.patterns('users:bans',
  34. url(r'^$', BansList.as_view(), name='index'),
  35. url(r'^new/$', NewBan.as_view(), name='new'),
  36. url(r'^edit/(?P<ban_id>\d+)/$', EditBan.as_view(), name='edit'),
  37. url(r'^delete/(?P<ban_id>\d+)/$', DeleteBan.as_view(), name='delete'),
  38. )
  39. def register_navigation_nodes(self, site):
  40. site.add_node(name=_("Users"),
  41. icon='fa fa-users',
  42. parent='misago:admin',
  43. after='misago:admin:index',
  44. namespace='misago:admin:users',
  45. link='misago:admin:users:accounts:index')
  46. site.add_node(name=_("User Accounts"),
  47. icon='fa fa-users',
  48. parent='misago:admin:users',
  49. namespace='misago:admin:users:accounts',
  50. link='misago:admin:users:accounts:index')
  51. site.add_node(name=_("Ranks"),
  52. icon='fa fa-graduation-cap',
  53. parent='misago:admin:users',
  54. after='misago:admin:users:accounts:index',
  55. namespace='misago:admin:users:ranks',
  56. link='misago:admin:users:ranks:index')
  57. site.add_node(name=_("Bans"),
  58. icon='fa fa-lock',
  59. parent='misago:admin:users',
  60. after='misago:admin:users:ranks:index',
  61. namespace='misago:admin:users:bans',
  62. link='misago:admin:users:bans:index')