1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Fix VM VLAN filtering

This commit is contained in:
Jeremy Stretch
2021-03-30 21:46:56 -04:00
parent a292ff5cc0
commit d33d9522cc
2 changed files with 15 additions and 9 deletions

View File

@@ -60,6 +60,7 @@ class VLANQuerySet(RestrictedQuerySet):
scope_id=device.rack_id
)
# Return all applicable VLANs
return self.filter(
Q(group__in=VLANGroup.objects.filter(q)) |
Q(site=device.site) |
@@ -98,9 +99,14 @@ class VLANQuerySet(RestrictedQuerySet):
scope_type=ContentType.objects.get_by_natural_key('virtualization', 'cluster'),
scope_id=vm.cluster_id
)
vlan_groups = VLANGroup.objects.filter(q)
return self.filter(
Q(group__in=VLANGroup.objects.filter(q)) |
Q(site=vm.cluster.site) |
# Return all applicable VLANs
q = (
Q(group__in=vlan_groups) |
Q(group__isnull=True, site__isnull=True) # Global VLANs
)
if vm.cluster.site:
q |= Q(site=vm.cluster.site)
return self.filter(q)