urls.py 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. from django.urls import path
  2. from extras.views import ObjectChangeLogView
  3. from . import views
  4. from .models import Aggregate, IPAddress, Prefix, RIR, Role, Service, VLAN, VLANGroup, VRF
  5. app_name = 'ipam'
  6. urlpatterns = [
  7. # VRFs
  8. path(r'vrfs/', views.VRFListView.as_view(), name='vrf_list'),
  9. path(r'vrfs/add/', views.VRFCreateView.as_view(), name='vrf_add'),
  10. path(r'vrfs/import/', views.VRFBulkImportView.as_view(), name='vrf_import'),
  11. path(r'vrfs/edit/', views.VRFBulkEditView.as_view(), name='vrf_bulk_edit'),
  12. path(r'vrfs/delete/', views.VRFBulkDeleteView.as_view(), name='vrf_bulk_delete'),
  13. path(r'vrfs/<int:pk>/', views.VRFView.as_view(), name='vrf'),
  14. path(r'vrfs/<int:pk>/edit/', views.VRFEditView.as_view(), name='vrf_edit'),
  15. path(r'vrfs/<int:pk>/delete/', views.VRFDeleteView.as_view(), name='vrf_delete'),
  16. path(r'vrfs/<int:pk>/changelog/', ObjectChangeLogView.as_view(), name='vrf_changelog', kwargs={'model': VRF}),
  17. # RIRs
  18. path(r'rirs/', views.RIRListView.as_view(), name='rir_list'),
  19. path(r'rirs/add/', views.RIRCreateView.as_view(), name='rir_add'),
  20. path(r'rirs/import/', views.RIRBulkImportView.as_view(), name='rir_import'),
  21. path(r'rirs/delete/', views.RIRBulkDeleteView.as_view(), name='rir_bulk_delete'),
  22. path(r'rirs/<slug:slug>/edit/', views.RIREditView.as_view(), name='rir_edit'),
  23. path(r'vrfs/<slug:slug>/changelog/', ObjectChangeLogView.as_view(), name='rir_changelog', kwargs={'model': RIR}),
  24. # Aggregates
  25. path(r'aggregates/', views.AggregateListView.as_view(), name='aggregate_list'),
  26. path(r'aggregates/add/', views.AggregateCreateView.as_view(), name='aggregate_add'),
  27. path(r'aggregates/import/', views.AggregateBulkImportView.as_view(), name='aggregate_import'),
  28. path(r'aggregates/edit/', views.AggregateBulkEditView.as_view(), name='aggregate_bulk_edit'),
  29. path(r'aggregates/delete/', views.AggregateBulkDeleteView.as_view(), name='aggregate_bulk_delete'),
  30. path(r'aggregates/<int:pk>/', views.AggregateView.as_view(), name='aggregate'),
  31. path(r'aggregates/<int:pk>/edit/', views.AggregateEditView.as_view(), name='aggregate_edit'),
  32. path(r'aggregates/<int:pk>/delete/', views.AggregateDeleteView.as_view(), name='aggregate_delete'),
  33. path(r'aggregates/<int:pk>/changelog/', ObjectChangeLogView.as_view(), name='aggregate_changelog', kwargs={'model': Aggregate}),
  34. # Roles
  35. path(r'roles/', views.RoleListView.as_view(), name='role_list'),
  36. path(r'roles/add/', views.RoleCreateView.as_view(), name='role_add'),
  37. path(r'roles/import/', views.RoleBulkImportView.as_view(), name='role_import'),
  38. path(r'roles/delete/', views.RoleBulkDeleteView.as_view(), name='role_bulk_delete'),
  39. path(r'roles/<slug:slug>/edit/', views.RoleEditView.as_view(), name='role_edit'),
  40. path(r'roles/<slug:slug>/changelog/', ObjectChangeLogView.as_view(), name='role_changelog', kwargs={'model': Role}),
  41. # Prefixes
  42. path(r'prefixes/', views.PrefixListView.as_view(), name='prefix_list'),
  43. path(r'prefixes/add/', views.PrefixCreateView.as_view(), name='prefix_add'),
  44. path(r'prefixes/import/', views.PrefixBulkImportView.as_view(), name='prefix_import'),
  45. path(r'prefixes/edit/', views.PrefixBulkEditView.as_view(), name='prefix_bulk_edit'),
  46. path(r'prefixes/delete/', views.PrefixBulkDeleteView.as_view(), name='prefix_bulk_delete'),
  47. path(r'prefixes/<int:pk>/', views.PrefixView.as_view(), name='prefix'),
  48. path(r'prefixes/<int:pk>/edit/', views.PrefixEditView.as_view(), name='prefix_edit'),
  49. path(r'prefixes/<int:pk>/delete/', views.PrefixDeleteView.as_view(), name='prefix_delete'),
  50. path(r'prefixes/<int:pk>/changelog/', ObjectChangeLogView.as_view(), name='prefix_changelog', kwargs={'model': Prefix}),
  51. path(r'prefixes/<int:pk>/prefixes/', views.PrefixPrefixesView.as_view(), name='prefix_prefixes'),
  52. path(r'prefixes/<int:pk>/ip-addresses/', views.PrefixIPAddressesView.as_view(), name='prefix_ipaddresses'),
  53. # IP addresses
  54. path(r'ip-addresses/', views.IPAddressListView.as_view(), name='ipaddress_list'),
  55. path(r'ip-addresses/add/', views.IPAddressCreateView.as_view(), name='ipaddress_add'),
  56. path(r'ip-addresses/bulk-add/', views.IPAddressBulkCreateView.as_view(), name='ipaddress_bulk_add'),
  57. path(r'ip-addresses/import/', views.IPAddressBulkImportView.as_view(), name='ipaddress_import'),
  58. path(r'ip-addresses/edit/', views.IPAddressBulkEditView.as_view(), name='ipaddress_bulk_edit'),
  59. path(r'ip-addresses/delete/', views.IPAddressBulkDeleteView.as_view(), name='ipaddress_bulk_delete'),
  60. path(r'ip-addresses/<int:pk>/changelog/', ObjectChangeLogView.as_view(), name='ipaddress_changelog', kwargs={'model': IPAddress}),
  61. path(r'ip-addresses/assign/', views.IPAddressAssignView.as_view(), name='ipaddress_assign'),
  62. path(r'ip-addresses/<int:pk>/', views.IPAddressView.as_view(), name='ipaddress'),
  63. path(r'ip-addresses/<int:pk>/edit/', views.IPAddressEditView.as_view(), name='ipaddress_edit'),
  64. path(r'ip-addresses/<int:pk>/delete/', views.IPAddressDeleteView.as_view(), name='ipaddress_delete'),
  65. # VLAN groups
  66. path(r'vlan-groups/', views.VLANGroupListView.as_view(), name='vlangroup_list'),
  67. path(r'vlan-groups/add/', views.VLANGroupCreateView.as_view(), name='vlangroup_add'),
  68. path(r'vlan-groups/import/', views.VLANGroupBulkImportView.as_view(), name='vlangroup_import'),
  69. path(r'vlan-groups/delete/', views.VLANGroupBulkDeleteView.as_view(), name='vlangroup_bulk_delete'),
  70. path(r'vlan-groups/<int:pk>/edit/', views.VLANGroupEditView.as_view(), name='vlangroup_edit'),
  71. path(r'vlan-groups/<int:pk>/vlans/', views.VLANGroupVLANsView.as_view(), name='vlangroup_vlans'),
  72. path(r'vlan-groups/<int:pk>/changelog/', ObjectChangeLogView.as_view(), name='vlangroup_changelog', kwargs={'model': VLANGroup}),
  73. # VLANs
  74. path(r'vlans/', views.VLANListView.as_view(), name='vlan_list'),
  75. path(r'vlans/add/', views.VLANCreateView.as_view(), name='vlan_add'),
  76. path(r'vlans/import/', views.VLANBulkImportView.as_view(), name='vlan_import'),
  77. path(r'vlans/edit/', views.VLANBulkEditView.as_view(), name='vlan_bulk_edit'),
  78. path(r'vlans/delete/', views.VLANBulkDeleteView.as_view(), name='vlan_bulk_delete'),
  79. path(r'vlans/<int:pk>/', views.VLANView.as_view(), name='vlan'),
  80. path(r'vlans/<int:pk>/members/', views.VLANMembersView.as_view(), name='vlan_members'),
  81. path(r'vlans/<int:pk>/edit/', views.VLANEditView.as_view(), name='vlan_edit'),
  82. path(r'vlans/<int:pk>/delete/', views.VLANDeleteView.as_view(), name='vlan_delete'),
  83. path(r'vlans/<int:pk>/changelog/', ObjectChangeLogView.as_view(), name='vlan_changelog', kwargs={'model': VLAN}),
  84. # Services
  85. path(r'services/', views.ServiceListView.as_view(), name='service_list'),
  86. path(r'services/edit/', views.ServiceBulkEditView.as_view(), name='service_bulk_edit'),
  87. path(r'services/delete/', views.ServiceBulkDeleteView.as_view(), name='service_bulk_delete'),
  88. path(r'services/<int:pk>/', views.ServiceView.as_view(), name='service'),
  89. path(r'services/<int:pk>/edit/', views.ServiceEditView.as_view(), name='service_edit'),
  90. path(r'services/<int:pk>/delete/', views.ServiceDeleteView.as_view(), name='service_delete'),
  91. path(r'services/<int:pk>/changelog/', ObjectChangeLogView.as_view(), name='service_changelog', kwargs={'model': Service}),
  92. ]