__init__.py 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. from django.urls import path
  2. from django.utils.translation import gettext_lazy as _
  3. from .views.categories import (
  4. CategoriesList,
  5. DeleteCategory,
  6. EditCategory,
  7. MoveDownCategory,
  8. MoveUpCategory,
  9. NewCategory,
  10. )
  11. from .views.perms import (
  12. CategoryPermissions,
  13. CategoryRolesList,
  14. DeleteCategoryRole,
  15. EditCategoryRole,
  16. NewCategoryRole,
  17. RoleCategoriesACL,
  18. )
  19. class MisagoAdminExtension:
  20. def register_urlpatterns(self, urlpatterns):
  21. # Categories section
  22. urlpatterns.namespace("categories/", "categories")
  23. # Nodes
  24. urlpatterns.patterns(
  25. "categories",
  26. path("", CategoriesList.as_view(), name="index"),
  27. path("new/", NewCategory.as_view(), name="new"),
  28. path("edit/<int:pk>/", EditCategory.as_view(), name="edit"),
  29. path(
  30. "permissions/<int:pk>/",
  31. CategoryPermissions.as_view(),
  32. name="permissions",
  33. ),
  34. path("move/down/<int:pk>/", MoveDownCategory.as_view(), name="down"),
  35. path("move/up/<int:pk>/", MoveUpCategory.as_view(), name="up"),
  36. path("delete/<int:pk>/", DeleteCategory.as_view(), name="delete"),
  37. )
  38. # Category Roles
  39. urlpatterns.namespace("categories/", "categories", "permissions")
  40. urlpatterns.patterns(
  41. "permissions:categories",
  42. path("", CategoryRolesList.as_view(), name="index"),
  43. path("new/", NewCategoryRole.as_view(), name="new"),
  44. path("edit/<int:pk>/", EditCategoryRole.as_view(), name="edit"),
  45. path("delete/<int:pk>/", DeleteCategoryRole.as_view(), name="delete"),
  46. )
  47. # Change Role Category Permissions
  48. urlpatterns.patterns(
  49. "permissions",
  50. path(
  51. "categories/<int:pk>/",
  52. RoleCategoriesACL.as_view(),
  53. name="categories",
  54. ),
  55. )
  56. def register_navigation_nodes(self, site):
  57. site.add_node(
  58. name=_("Categories"),
  59. icon="fas fa-sitemap",
  60. after="ranks:index",
  61. namespace="categories",
  62. )
  63. site.add_node(
  64. name=_("Category permissions"), parent="permissions", namespace="categories"
  65. )