From e68a8a1af0060d217c91531268abf1a4edd36ecd Mon Sep 17 00:00:00 2001 From: mattieserver <3049868+mattieserver@users.noreply.github.com> Date: Fri, 25 Mar 2022 10:12:36 +0100 Subject: [PATCH] added tenants (#94) --- netbox_topology_views/__init__.py | 2 +- netbox_topology_views/filters.py | 4 +++- netbox_topology_views/forms.py | 6 +++++- package-lock.json | 2 +- package.json | 2 +- setup.py | 2 +- 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/netbox_topology_views/__init__.py b/netbox_topology_views/__init__.py index e5917b1..1736e9e 100644 --- a/netbox_topology_views/__init__.py +++ b/netbox_topology_views/__init__.py @@ -4,7 +4,7 @@ class TopologyViewsConfig(PluginConfig): name = 'netbox_topology_views' verbose_name = 'Topology views' description = 'An plugin to render topology maps' - version = '1.0.2' + version = '1.0.3' author = 'Mattijs Vanhaverbeke' author_email = 'author@example.com' base_url = 'netbox_topology_views' diff --git a/netbox_topology_views/filters.py b/netbox_topology_views/filters.py index 8b9dfac..38618af 100644 --- a/netbox_topology_views/filters.py +++ b/netbox_topology_views/filters.py @@ -1,10 +1,12 @@ import django_filters from extras.filters import TagFilter from dcim.models import Device, DeviceRole, Region, Site, Location +from tenancy.models import TenantGroup, Tenant +from tenancy.filtersets import TenancyFilterSet from utilities.filters import TreeNodeMultipleChoiceFilter from django.db.models import Q -class DeviceFilterSet(django_filters.FilterSet): +class DeviceFilterSet(TenancyFilterSet, django_filters.FilterSet): q = django_filters.CharFilter( method='search', label='Search', diff --git a/netbox_topology_views/forms.py b/netbox_topology_views/forms.py index cdf1025..1ab728c 100644 --- a/netbox_topology_views/forms.py +++ b/netbox_topology_views/forms.py @@ -1,18 +1,22 @@ +import imp from django import forms from django.conf import settings from django.utils.translation import gettext as _ from extras.models import Tag from dcim.models import Device, Site, Region, DeviceRole, Location +from tenancy.models import TenantGroup, Tenant +from tenancy.forms import TenancyFilterForm from django.conf import settings from utilities.forms import (TagFilterField, DynamicModelMultipleChoiceField, FilterForm) allow_coordinates_saving = settings.PLUGINS_CONFIG["netbox_topology_views"]["allow_coordinates_saving"] -class DeviceFilterForm(FilterForm): +class DeviceFilterForm(TenancyFilterForm, FilterForm): model = Device field_groups = [ ['q', 'hide_unconnected', 'save_coords'], + ['tenant_group_id', 'tenant_id'], ['region_id', 'site_id', 'location_id'], ['device_role_id'], ['tag'], diff --git a/package-lock.json b/package-lock.json index 4158537..53c1169 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "netbox_topology_views", - "version": "1.0.2", + "version": "1.0.3", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index 9dc7a9c..69fea72 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "netbox_topology_views", - "version": "1.0.2", + "version": "1.0.3", "scripts": { "resources": "gulp build", "resources_dev": "gulp build_dev" diff --git a/setup.py b/setup.py index acd8edf..ab38bdf 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ from setuptools import setup, find_packages setup( name='netbox-topology-views', - version='1.0.2', + version='1.0.3', description='An NetBox plugin to create Topology maps', url='https://github.com/mattieserver/netbox-topology-views', author='Mattijs Vanhaverbeke',