admin.py 2.8 KB

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