admin.py 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. from django.conf.urls import url
  2. from django.utils.translation import ugettext_lazy as _
  3. from misago.categories.views.categoriesadmin import (
  4. CategoriesList, NewCategory, EditCategory, MoveDownCategory,
  5. MoveUpCategory, DeleteCategory)
  6. from misago.categories.views.permsadmin import (
  7. CategoryRolesList, NewCategoryRole, EditCategoryRole, DeleteCategoryRole,
  8. CategoryPermissions, RoleCategoriesACL)
  9. class MisagoAdminExtension(object):
  10. def register_urlpatterns(self, urlpatterns):
  11. # Categories section
  12. urlpatterns.namespace(r'^categories/', 'categories')
  13. # Nodes
  14. urlpatterns.namespace(r'^nodes/', 'nodes', 'categories')
  15. urlpatterns.patterns('categories:nodes',
  16. url(r'^$', CategoriesList.as_view(), name='index'),
  17. url(r'^new/$', NewCategory.as_view(), name='new'),
  18. url(r'^edit/(?P<category_id>\d+)/$', EditCategory.as_view(), name='edit'),
  19. url(r'^permissions/(?P<category_id>\d+)/$', CategoryPermissions.as_view(), name='permissions'),
  20. url(r'^move/down/(?P<category_id>\d+)/$', MoveDownCategory.as_view(), name='down'),
  21. url(r'^move/up/(?P<category_id>\d+)/$', MoveUpCategory.as_view(), name='up'),
  22. url(r'^delete/(?P<category_id>\d+)/$', DeleteCategory.as_view(), name='delete'),
  23. )
  24. # Category Roles
  25. urlpatterns.namespace(r'^categories/', 'categories', 'permissions')
  26. urlpatterns.patterns('permissions:categories',
  27. url(r'^$', CategoryRolesList.as_view(), name='index'),
  28. url(r'^new/$', NewCategoryRole.as_view(), name='new'),
  29. url(r'^edit/(?P<role_id>\d+)/$', EditCategoryRole.as_view(), name='edit'),
  30. url(r'^delete/(?P<role_id>\d+)/$', DeleteCategoryRole.as_view(), name='delete'),
  31. )
  32. # Change Role Category Permissions
  33. urlpatterns.patterns('permissions:users',
  34. url(r'^categories/(?P<role_id>\d+)/$', RoleCategoriesACL.as_view(), name='categories'),
  35. )
  36. def register_navigation_nodes(self, site):
  37. site.add_node(
  38. name=_("Categories"),
  39. icon='fa fa-comments',
  40. parent='misago:admin',
  41. before='misago:admin:permissions:users:index',
  42. namespace='misago:admin:categories',
  43. link='misago:admin:categories:nodes:index'
  44. )
  45. site.add_node(
  46. name=_("Categories hierarchy"),
  47. icon='fa fa-sitemap',
  48. parent='misago:admin:categories',
  49. namespace='misago:admin:categories:nodes',
  50. link='misago:admin:categories:nodes:index'
  51. )
  52. site.add_node(
  53. name=_("Category roles"),
  54. icon='fa fa-comments-o',
  55. parent='misago:admin:permissions',
  56. after='misago:admin:permissions:users:index',
  57. namespace='misago:admin:permissions:categories',
  58. link='misago:admin:permissions:categories:index'
  59. )