admin.py 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. from django.conf.urls import url
  2. from django.utils.translation import gettext_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:
  20. def register_urlpatterns(self, urlpatterns):
  21. # Categories section
  22. urlpatterns.namespace(r"^categories/", "categories")
  23. # Nodes
  24. urlpatterns.patterns(
  25. "categories",
  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(
  30. r"^permissions/(?P<pk>\d+)/$",
  31. CategoryPermissions.as_view(),
  32. name="permissions",
  33. ),
  34. url(r"^move/down/(?P<pk>\d+)/$", MoveDownCategory.as_view(), name="down"),
  35. url(r"^move/up/(?P<pk>\d+)/$", MoveUpCategory.as_view(), name="up"),
  36. url(r"^delete/(?P<pk>\d+)/$", DeleteCategory.as_view(), name="delete"),
  37. )
  38. # Category Roles
  39. urlpatterns.namespace(r"^categories/", "categories", "permissions")
  40. urlpatterns.patterns(
  41. "permissions:categories",
  42. url(r"^$", CategoryRolesList.as_view(), name="index"),
  43. url(r"^new/$", NewCategoryRole.as_view(), name="new"),
  44. url(r"^edit/(?P<pk>\d+)/$", EditCategoryRole.as_view(), name="edit"),
  45. url(r"^delete/(?P<pk>\d+)/$", DeleteCategoryRole.as_view(), name="delete"),
  46. )
  47. # Change Role Category Permissions
  48. urlpatterns.patterns(
  49. "permissions",
  50. url(
  51. r"^categories/(?P<pk>\d+)/$",
  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. )