Skip to content

Commit ff328ed

Browse files
authored
Merge pull request #254 from pheus/housekeeping/253-refactor-view-registrations
refactor(views): Streamline view registrations
2 parents 0a14e40 + 08a28f5 commit ff328ed

File tree

2 files changed

+19
-111
lines changed

2 files changed

+19
-111
lines changed

netbox_acls/urls.py

Lines changed: 6 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -5,32 +5,13 @@
55
from django.urls import include, path
66
from utilities.urls import get_model_urls
77

8-
from . import views
8+
from . import views # noqa F401
99

1010
urlpatterns = (
1111
# Access Lists
12-
path("access-lists/", views.AccessListListView.as_view(), name="accesslist_list"),
1312
path(
14-
"access-lists/add/",
15-
views.AccessListEditView.as_view(),
16-
name="accesslist_add",
17-
),
18-
# path('access-lists/edit/', views.AccessListBulkEditView.as_view(), name='accesslist_bulk_edit'),
19-
path(
20-
"access-lists/delete/",
21-
views.AccessListBulkDeleteView.as_view(),
22-
name="accesslist_bulk_delete",
23-
),
24-
path("access-lists/<int:pk>/", views.AccessListView.as_view(), name="accesslist"),
25-
path(
26-
"access-lists/<int:pk>/edit/",
27-
views.AccessListEditView.as_view(),
28-
name="accesslist_edit",
29-
),
30-
path(
31-
"access-lists/<int:pk>/delete/",
32-
views.AccessListDeleteView.as_view(),
33-
name="accesslist_delete",
13+
"access-lists/",
14+
include(get_model_urls("netbox_acls", "accesslist", detail=False)),
3415
),
3516
path(
3617
"access-lists/<int:pk>/",
@@ -39,38 +20,7 @@
3920
# Access List Interface Assignments
4021
path(
4122
"interface-assignments/",
42-
views.ACLInterfaceAssignmentListView.as_view(),
43-
name="aclinterfaceassignment_list",
44-
),
45-
path(
46-
"interface-assignments/add/",
47-
views.ACLInterfaceAssignmentEditView.as_view(),
48-
name="aclinterfaceassignment_add",
49-
),
50-
# path(
51-
# "interface-assignments/edit/",
52-
# views.ACLInterfaceAssignmentBulkEditView.as_view(),
53-
# name="aclinterfaceassignment_bulk_edit"
54-
# ),
55-
path(
56-
"interface-assignments/delete/",
57-
views.ACLInterfaceAssignmentBulkDeleteView.as_view(),
58-
name="aclinterfaceassignment_bulk_delete",
59-
),
60-
path(
61-
"interface-assignments/<int:pk>/",
62-
views.ACLInterfaceAssignmentView.as_view(),
63-
name="aclinterfaceassignment",
64-
),
65-
path(
66-
"interface-assignments/<int:pk>/edit/",
67-
views.ACLInterfaceAssignmentEditView.as_view(),
68-
name="aclinterfaceassignment_edit",
69-
),
70-
path(
71-
"interface-assignments/<int:pk>/delete/",
72-
views.ACLInterfaceAssignmentDeleteView.as_view(),
73-
name="aclinterfaceassignment_delete",
23+
include(get_model_urls("netbox_acls", "aclinterfaceassignment", detail=False)),
7424
),
7525
path(
7626
"interface-assignments/<int:pk>/",
@@ -79,33 +29,7 @@
7929
# Standard Access List Rules
8030
path(
8131
"standard-rules/",
82-
views.ACLStandardRuleListView.as_view(),
83-
name="aclstandardrule_list",
84-
),
85-
path(
86-
"standard-rules/add/",
87-
views.ACLStandardRuleEditView.as_view(),
88-
name="aclstandardrule_add",
89-
),
90-
path(
91-
"standard-rules/delete/",
92-
views.ACLStandardRuleBulkDeleteView.as_view(),
93-
name="aclstandardrule_bulk_delete",
94-
),
95-
path(
96-
"standard-rules/<int:pk>/",
97-
views.ACLStandardRuleView.as_view(),
98-
name="aclstandardrule",
99-
),
100-
path(
101-
"standard-rules/<int:pk>/edit/",
102-
views.ACLStandardRuleEditView.as_view(),
103-
name="aclstandardrule_edit",
104-
),
105-
path(
106-
"standard-rules/<int:pk>/delete/",
107-
views.ACLStandardRuleDeleteView.as_view(),
108-
name="aclstandardrule_delete",
32+
include(get_model_urls("netbox_acls", "aclstandardrule", detail=False)),
10933
),
11034
path(
11135
"standard-rules/<int:pk>/",
@@ -114,33 +38,7 @@
11438
# Extended Access List Rules
11539
path(
11640
"extended-rules/",
117-
views.ACLExtendedRuleListView.as_view(),
118-
name="aclextendedrule_list",
119-
),
120-
path(
121-
"extended-rules/add/",
122-
views.ACLExtendedRuleEditView.as_view(),
123-
name="aclextendedrule_add",
124-
),
125-
path(
126-
"extended-rules/delete/",
127-
views.ACLExtendedRuleBulkDeleteView.as_view(),
128-
name="aclextendedrule_bulk_delete",
129-
),
130-
path(
131-
"extended-rules/<int:pk>/",
132-
views.ACLExtendedRuleView.as_view(),
133-
name="aclextendedrule",
134-
),
135-
path(
136-
"extended-rules/<int:pk>/edit/",
137-
views.ACLExtendedRuleEditView.as_view(),
138-
name="aclextendedrule_edit",
139-
),
140-
path(
141-
"extended-rules/<int:pk>/delete/",
142-
views.ACLExtendedRuleDeleteView.as_view(),
143-
name="aclextendedrule_delete",
41+
include(get_model_urls("netbox_acls", "aclextendedrule", detail=False)),
14442
),
14543
path(
14644
"extended-rules/<int:pk>/",

netbox_acls/views.py

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ def get_extra_context(self, request, instance):
7171
return {}
7272

7373

74+
@register_model_view(models.AccessList, "list", path="", detail=False)
7475
class AccessListListView(generic.ObjectListView):
7576
"""
7677
Defines the list view for the AccessLists django model.
@@ -84,6 +85,7 @@ class AccessListListView(generic.ObjectListView):
8485
filterset_form = forms.AccessListFilterForm
8586

8687

88+
@register_model_view(models.AccessList, "add", detail=False)
8789
@register_model_view(models.AccessList, "edit")
8890
class AccessListEditView(generic.ObjectEditView):
8991
"""
@@ -103,6 +105,7 @@ class AccessListDeleteView(generic.ObjectDeleteView):
103105
queryset = models.AccessList.objects.prefetch_related("tags")
104106

105107

108+
@register_model_view(models.AccessList, "bulk_delete", path="delete", detail=False)
106109
class AccessListBulkDeleteView(generic.BulkDeleteView):
107110
queryset = models.AccessList.objects.prefetch_related("tags")
108111
filterset = filtersets.AccessListFilterSet
@@ -194,6 +197,7 @@ class ACLInterfaceAssignmentView(generic.ObjectView):
194197
)
195198

196199

200+
@register_model_view(models.ACLInterfaceAssignment, "list", path="", detail=False)
197201
class ACLInterfaceAssignmentListView(generic.ObjectListView):
198202
"""
199203
Defines the list view for the ACLInterfaceAssignments django model.
@@ -208,6 +212,7 @@ class ACLInterfaceAssignmentListView(generic.ObjectListView):
208212
filterset_form = forms.ACLInterfaceAssignmentFilterForm
209213

210214

215+
@register_model_view(models.ACLInterfaceAssignment, "add", detail=False)
211216
@register_model_view(models.ACLInterfaceAssignment, "edit")
212217
class ACLInterfaceAssignmentEditView(generic.ObjectEditView):
213218
"""
@@ -243,6 +248,7 @@ class ACLInterfaceAssignmentDeleteView(generic.ObjectDeleteView):
243248
)
244249

245250

251+
@register_model_view(models.ACLInterfaceAssignment, "bulk_delete", path="delete", detail=False)
246252
class ACLInterfaceAssignmentBulkDeleteView(generic.BulkDeleteView):
247253
queryset = models.ACLInterfaceAssignment.objects.prefetch_related(
248254
"access_list",
@@ -288,9 +294,7 @@ def get_children(self, request, parent):
288294

289295

290296
@register_model_view(VMInterface, "acl_interface_assignments")
291-
class VirtualMachineInterfaceACLInterfaceAssignmentView(
292-
ACLInterfaceAssignmentChildView,
293-
):
297+
class VirtualMachineInterfaceACLInterfaceAssignmentView(ACLInterfaceAssignmentChildView):
294298
queryset = VMInterface.objects.prefetch_related("virtual_machine", "tags")
295299
tab = ViewTab(
296300
label="ACL Interface Assignments",
@@ -324,6 +328,7 @@ class ACLStandardRuleView(generic.ObjectView):
324328
)
325329

326330

331+
@register_model_view(models.ACLStandardRule, "list", path="", detail=False)
327332
class ACLStandardRuleListView(generic.ObjectListView):
328333
"""
329334
Defines the list view for the ACLStandardRule django model.
@@ -339,6 +344,7 @@ class ACLStandardRuleListView(generic.ObjectListView):
339344
filterset_form = forms.ACLStandardRuleFilterForm
340345

341346

347+
@register_model_view(models.ACLStandardRule, "add", detail=False)
342348
@register_model_view(models.ACLStandardRule, "edit")
343349
class ACLStandardRuleEditView(generic.ObjectEditView):
344350
"""
@@ -375,6 +381,7 @@ class ACLStandardRuleDeleteView(generic.ObjectDeleteView):
375381
)
376382

377383

384+
@register_model_view(models.ACLStandardRule, "bulk_delete", path="delete", detail=False)
378385
class ACLStandardRuleBulkDeleteView(generic.BulkDeleteView):
379386
queryset = models.ACLStandardRule.objects.prefetch_related(
380387
"access_list",
@@ -404,6 +411,7 @@ class ACLExtendedRuleView(generic.ObjectView):
404411
)
405412

406413

414+
@register_model_view(models.ACLExtendedRule, "list", path="", detail=False)
407415
class ACLExtendedRuleListView(generic.ObjectListView):
408416
"""
409417
Defines the list view for the ACLExtendedRule django model.
@@ -420,6 +428,7 @@ class ACLExtendedRuleListView(generic.ObjectListView):
420428
filterset_form = forms.ACLExtendedRuleFilterForm
421429

422430

431+
@register_model_view(models.ACLExtendedRule, "add", detail=False)
423432
@register_model_view(models.ACLExtendedRule, "edit")
424433
class ACLExtendedRuleEditView(generic.ObjectEditView):
425434
"""
@@ -458,6 +467,7 @@ class ACLExtendedRuleDeleteView(generic.ObjectDeleteView):
458467
)
459468

460469

470+
@register_model_view(models.ACLExtendedRule, "bulk_delete", path="delete", detail=False)
461471
class ACLExtendedRuleBulkDeleteView(generic.BulkDeleteView):
462472
queryset = models.ACLExtendedRule.objects.prefetch_related(
463473
"access_list",

0 commit comments

Comments
 (0)