admin.py 2.8 KB

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