diff --git a/.devcontainer/configuration/plugins.py b/.devcontainer/configuration/plugins.py index cc5b291..a92555c 100644 --- a/.devcontainer/configuration/plugins.py +++ b/.devcontainer/configuration/plugins.py @@ -5,9 +5,11 @@ # See https://github.com/netbox-community/netbox-docker/wiki/Using-Netbox-Plugins PLUGINS = [ - "netbox_access_lists" + "netbox_access_lists", + "netbox_secretstore" ] PLUGINS_CONFIG = { - "netbox_access_lists":{} + "netbox_access_lists": {}, + "netbox_secretstore": {} } diff --git a/netbox_access_lists/template_content.py b/netbox_access_lists/template_content.py new file mode 100644 index 0000000..3fb339c --- /dev/null +++ b/netbox_access_lists/template_content.py @@ -0,0 +1,34 @@ + +from django.contrib.contenttypes.models import ContentType + +from extras.plugins import PluginTemplateExtension +from .models import AccessList + + +class AccessLists(PluginTemplateExtension): + + def right_page(self): + obj = self.context['object'] + + access_lists = None + ctype = ContentType.objects.get_for_model(obj) + if ctype.model == 'device': + access_lists = AccessList.objects.filter(device=obj.pk) + #elif ctype.model == 'virtualmachine': + # access_lists = AccessList.objects.filter(device=obj.pk) + + return self.render('inc/device_access_lists.html', extra_context={ + 'access_lists': access_lists, + 'type': ctype.model if ctype.model == 'device' else ctype.name.replace(' ', '_'), + }) + + +class DeviceAccessLists(AccessLists): + model = 'dcim.device' + + +#class VMAccessLists(AccessLists): +# model = 'virtualization.virtualmachine' + + +template_extensions = [DeviceAccessLists] diff --git a/netbox_access_lists/templates/inc/assigned_access_lists.html b/netbox_access_lists/templates/inc/assigned_access_lists.html new file mode 100644 index 0000000..5b0617c --- /dev/null +++ b/netbox_access_lists/templates/inc/assigned_access_lists.html @@ -0,0 +1,23 @@ +{% if access_lists %} + +
| Name | +Type | +Default Action | +Rule Count | +
|---|---|---|---|
| {{ access_list|linkify }} | +{{ access_list.type|title }} | +{{ access_list.default_action|title }} | +{{ access_list.rules.count }} | +