Skip to content

Commit 67da762

Browse files
authored
Merge pull request #114 from ryanmerolle/dev
release 1.2.1
2 parents c95587f + 0c26a27 commit 67da762

File tree

3 files changed

+77
-68
lines changed

3 files changed

+77
-68
lines changed

README.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Each Plugin Version listed below has been tested with its corresponding NetBox V
4040
|:--------------:|:--------------:|
4141
| 3.2 | 1.0.1 |
4242
| 3.3 | 1.1.0 |
43-
| 3.4 | 1.2.0 |
43+
| 3.4 | 1.2.1 |
4444

4545
## Installing
4646

@@ -59,16 +59,20 @@ or by adding to your `local_requirements.txt` or `plugin_requirements.txt` (netb
5959
netbox-acls
6060
```
6161

62+
## Configuration
63+
6264
Enable the plugin in `/opt/netbox/netbox/netbox/configuration.py`,
6365
or if you use netbox-docker, your `/configuration/plugins.py` file :
6466

6567
```python
6668
PLUGINS = [
67-
'netbox_acls'
69+
"netbox_acls"
6870
]
6971

7072
PLUGINS_CONFIG = {
71-
"netbox_acls": {},
73+
"netbox_acls": {
74+
"top_level_menu": True # If set to True the plugin will add a top level menu item for the plugin. If set to False the plugin will add a menu item under the Plugins menu item. Default is set to True.
75+
},
7276
}
7377
```
7478

netbox_acls/navigation.py

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

5+
from django.conf import settings
56
from extras.plugins import PluginMenu, PluginMenuButton, PluginMenuItem
67
from utilities.choices import ButtonColorChoices
78

9+
plugin_settings = settings.PLUGINS_CONFIG["netbox_acls"]
10+
811
#
912
# Define plugin menu buttons
1013
#
11-
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-
),
14+
menu_buttons = (
15+
PluginMenuItem(
16+
link="plugins:netbox_acls:accesslist_list",
17+
link_text="Access Lists",
18+
permissions=["netbox_acls.view_accesslist"],
19+
buttons=(
20+
PluginMenuButton(
21+
link="plugins:netbox_acls:accesslist_add",
22+
title="Add",
23+
icon_class="mdi mdi-plus-thick",
24+
color=ButtonColorChoices.GREEN,
25+
permissions=["netbox_acls.add_accesslist"],
26+
),
27+
),
28+
),
29+
PluginMenuItem(
30+
link="plugins:netbox_acls:aclstandardrule_list",
31+
link_text="Standard Rules",
32+
permissions=["netbox_acls.view_aclstandardrule"],
33+
buttons=(
34+
PluginMenuButton(
35+
link="plugins:netbox_acls:aclstandardrule_add",
36+
title="Add",
37+
icon_class="mdi mdi-plus-thick",
38+
color=ButtonColorChoices.GREEN,
39+
permissions=["netbox_acls.add_aclstandardrule"],
40+
),
41+
),
42+
),
43+
PluginMenuItem(
44+
link="plugins:netbox_acls:aclextendedrule_list",
45+
link_text="Extended Rules",
46+
permissions=["netbox_acls.view_aclextendedrule"],
47+
buttons=(
48+
PluginMenuButton(
49+
link="plugins:netbox_acls:aclextendedrule_add",
50+
title="Add",
51+
icon_class="mdi mdi-plus-thick",
52+
color=ButtonColorChoices.GREEN,
53+
permissions=["netbox_acls.add_aclextendedrule"],
54+
),
55+
),
56+
),
57+
PluginMenuItem(
58+
link="plugins:netbox_acls:aclinterfaceassignment_list",
59+
link_text="Interface Assignments",
60+
permissions=["netbox_acls.view_aclinterfaceassignment"],
61+
buttons=(
62+
PluginMenuButton(
63+
link="plugins:netbox_acls:aclinterfaceassignment_add",
64+
title="Add",
65+
icon_class="mdi mdi-plus-thick",
66+
color=ButtonColorChoices.GREEN,
67+
permissions=["netbox_acls.add_aclinterfaceassignment"],
7468
),
7569
),
7670
),
77-
icon_class="mdi mdi-lock",
7871
)
72+
73+
if plugin_settings.get("top_level_menu"):
74+
menu = PluginMenu(
75+
label="Access Lists",
76+
groups=(("ACLs", menu_buttons),),
77+
icon_class="mdi mdi-lock",
78+
)
79+
else:
80+
menu_items = menu_buttons

netbox_acls/version.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
1-
__version__ = "1.2.0"
1+
"""
2+
Version information for netbox-acls.
3+
"""
4+
__version__ = "1.2.1"

0 commit comments

Comments
 (0)