Skip to content

Commit 4418cca

Browse files
authored
Merge pull request #110 from ryanmerolle/feature
Support for NetBox v3.4 (#99)
2 parents ed0e635 + 6591ea0 commit 4418cca

File tree

16 files changed

+345
-311
lines changed

16 files changed

+345
-311
lines changed

.devcontainer/Dockerfile-plugin_dev

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
ARG NETBOX_VARIANT=v3.3
1+
ARG NETBOX_VARIANT=v3.4
22

33
FROM netboxcommunity/netbox:${NETBOX_VARIANT}
44

5-
ARG NETBOX_INITIALIZERS_VARIANT=3.3.*
5+
ARG NETBOX_INITIALIZERS_VARIANT=3.4.0
66

77
ARG DEBIAN_FRONTEND=noninteractive
88

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ body:
2323
attributes:
2424
label: NetBox access-list plugin version
2525
description: What version of the NetBox access-list plugin are you currently running?
26-
placeholder: v0.1
26+
placeholder: v1.2.0
2727
validations:
2828
required: true
2929
- type: input
3030
attributes:
3131
label: NetBox version
3232
description: What version of NetBox are you currently running?
33-
placeholder: v3.2.7
33+
placeholder: v3.4.3
3434
validations:
3535
required: true
3636
- type: textarea

.github/ISSUE_TEMPLATE/feature_request.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ body:
1515
attributes:
1616
label: NetBox version
1717
description: What version of NetBox are you currently running?
18-
placeholder: v3.2.5
18+
placeholder: v3.4.3
1919
validations:
2020
required: true
2121
- type: dropdown

README.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,13 @@ See the [CONTRIBUTING](CONTRIBUTING.md) for more information.
3737
Each Plugin Version listed below has been tested with its corresponding NetBox Version.
3838

3939
| NetBox Version | Plugin Version |
40-
|----------------|----------------|
41-
| 3.2 | 1.0.1 |
42-
| 3.3 | 1.1.1 |
43-
| 3.4 | 1.2.0(coming) |
40+
|:--------------:|:--------------:|
41+
| 3.2 | 1.0.1 |
42+
| 3.3 | 1.1.0 |
43+
| 3.4 | 1.2.0
44+
45+
46+
4447

4548
## Installing
4649

netbox_acls/__init__.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,8 @@ class NetBoxACLsConfig(PluginConfig):
1717
version = __version__
1818
description = "Manage simple ACLs in NetBox"
1919
base_url = "access-lists"
20-
min_version = "3.3.0"
21-
max_version = "3.3.99"
22-
# default_settings = {}
20+
min_version = "3.4.0"
21+
max_version = "3.4.99"
2322

2423

2524
config = NetBoxACLsConfig

netbox_acls/api/views.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,12 @@ class AccessListViewSet(NetBoxModelViewSet):
2828
Defines the view set for the django AccessList model & associates it to a view.
2929
"""
3030

31-
queryset = models.AccessList.objects.prefetch_related("tags").annotate(
32-
rule_count=Count("aclextendedrules") + Count("aclstandardrules"),
31+
queryset = (
32+
models.AccessList.objects.prefetch_related("tags")
33+
.annotate(
34+
rule_count=Count("aclextendedrules") + Count("aclstandardrules"),
35+
)
36+
.prefetch_related("tags")
3337
)
3438
serializer_class = AccessListSerializer
3539
filterset_class = filtersets.AccessListFilterSet

netbox_acls/navigation.py

Lines changed: 66 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -2,82 +2,77 @@
22
Define the plugin menu buttons & the plugin navigation bar enteries.
33
"""
44

5-
from extras.plugins import PluginMenuButton, PluginMenuItem
5+
from extras.plugins import PluginMenu, PluginMenuButton, PluginMenuItem
66
from utilities.choices import ButtonColorChoices
77

88
#
99
# Define plugin menu buttons
1010
#
1111

12-
accesslist_buttons = [
13-
PluginMenuButton(
14-
link="plugins:netbox_acls:accesslist_add",
15-
title="Add",
16-
icon_class="mdi mdi-plus-thick",
17-
color=ButtonColorChoices.GREEN,
18-
permissions=["netbox_acls.add_accesslist"],
19-
),
20-
]
21-
22-
aclstandardrule_butons = [
23-
PluginMenuButton(
24-
link="plugins:netbox_acls:aclstandardrule_add",
25-
title="Add",
26-
icon_class="mdi mdi-plus-thick",
27-
color=ButtonColorChoices.GREEN,
28-
permissions=["netbox_acls.add_aclstandardrule"],
29-
),
30-
]
31-
32-
aclextendedrule_butons = [
33-
PluginMenuButton(
34-
link="plugins:netbox_acls:aclextendedrule_add",
35-
title="Add",
36-
icon_class="mdi mdi-plus-thick",
37-
color=ButtonColorChoices.GREEN,
38-
permissions=["netbox_acls.add_aclextendedrule"],
39-
),
40-
]
41-
42-
accesslistassignment_buttons = [
43-
PluginMenuButton(
44-
link="plugins:netbox_acls:aclinterfaceassignment_add",
45-
title="Add",
46-
icon_class="mdi mdi-plus-thick",
47-
color=ButtonColorChoices.GREEN,
48-
permissions=["netbox_acls.add_aclinterfaceassignment"],
49-
),
50-
]
51-
52-
#
53-
# Define navigation bar links including the above buttons defined.
54-
#
55-
56-
menu_items = (
57-
PluginMenuItem(
58-
link="plugins:netbox_acls:accesslist_list",
59-
link_text="Access Lists",
60-
buttons=accesslist_buttons,
61-
permissions=["netbox_acls.view_accesslist"],
62-
),
63-
# Comment out Standard Access List rule to force creation in the ACL view
64-
PluginMenuItem(
65-
link="plugins:netbox_acls:aclstandardrule_list",
66-
link_text="ACL Standard Rules",
67-
buttons=aclstandardrule_butons,
68-
permissions=["netbox_acls.view_aclstandardrule"],
69-
),
70-
# Comment out Extended Access List rule to force creation in the ACL view
71-
PluginMenuItem(
72-
link="plugins:netbox_acls:aclextendedrule_list",
73-
link_text="ACL Extended Rules",
74-
buttons=aclextendedrule_butons,
75-
permissions=["netbox_acls.view_aclextendedrule"],
76-
),
77-
PluginMenuItem(
78-
link="plugins:netbox_acls:aclinterfaceassignment_list",
79-
link_text="ACL Interface Assignments",
80-
buttons=accesslistassignment_buttons,
81-
permissions=["netbox_acls.view_aclinterfaceassignment"],
12+
menu = PluginMenu(
13+
label="Access Lists",
14+
groups=(
15+
(
16+
"ACLs",
17+
(
18+
PluginMenuItem(
19+
link="plugins:netbox_acls:accesslist_list",
20+
link_text="Access Lists",
21+
permissions=["netbox_acls.view_accesslist"],
22+
buttons=(
23+
PluginMenuButton(
24+
link="plugins:netbox_acls:accesslist_add",
25+
title="Add",
26+
icon_class="mdi mdi-plus-thick",
27+
color=ButtonColorChoices.GREEN,
28+
permissions=["netbox_acls.add_accesslist"],
29+
),
30+
),
31+
),
32+
PluginMenuItem(
33+
link="plugins:netbox_acls:aclstandardrule_list",
34+
link_text="Standard Rules",
35+
permissions=["netbox_acls.view_aclstandardrule"],
36+
buttons=(
37+
PluginMenuButton(
38+
link="plugins:netbox_acls:aclstandardrule_add",
39+
title="Add",
40+
icon_class="mdi mdi-plus-thick",
41+
color=ButtonColorChoices.GREEN,
42+
permissions=["netbox_acls.add_aclstandardrule"],
43+
),
44+
),
45+
),
46+
PluginMenuItem(
47+
link="plugins:netbox_acls:aclextendedrule_list",
48+
link_text="Extended Rules",
49+
permissions=["netbox_acls.view_aclextendedrule"],
50+
buttons=(
51+
PluginMenuButton(
52+
link="plugins:netbox_acls:aclextendedrule_add",
53+
title="Add",
54+
icon_class="mdi mdi-plus-thick",
55+
color=ButtonColorChoices.GREEN,
56+
permissions=["netbox_acls.add_aclextendedrule"],
57+
),
58+
),
59+
),
60+
PluginMenuItem(
61+
link="plugins:netbox_acls:aclinterfaceassignment_list",
62+
link_text="Interface Assignments",
63+
permissions=["netbox_acls.view_aclinterfaceassignment"],
64+
buttons=(
65+
PluginMenuButton(
66+
link="plugins:netbox_acls:aclinterfaceassignment_add",
67+
title="Add",
68+
icon_class="mdi mdi-plus-thick",
69+
color=ButtonColorChoices.GREEN,
70+
permissions=["netbox_acls.add_aclinterfaceassignment"],
71+
),
72+
),
73+
),
74+
),
75+
),
8276
),
77+
icon_class="mdi mdi-lock",
8378
)

netbox_acls/template_content.py

Lines changed: 0 additions & 98 deletions
This file was deleted.

netbox_acls/templates/inc/assigned_host/access_lists.html

Lines changed: 0 additions & 13 deletions
This file was deleted.

netbox_acls/templates/inc/assigned_host/assigned_access_lists.html

Lines changed: 0 additions & 27 deletions
This file was deleted.

0 commit comments

Comments
 (0)