mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-14 09:51:22 -06:00
Add vlangroup into LocationTable, LocationListView queryset and related_models in LocationView
This commit is contained in:
parent
d208ddde9a
commit
d83c2f45bc
@ -146,6 +146,11 @@ class LocationTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable):
|
|||||||
url_params={'location_id': 'pk'},
|
url_params={'location_id': 'pk'},
|
||||||
verbose_name=_('Devices')
|
verbose_name=_('Devices')
|
||||||
)
|
)
|
||||||
|
vlangroup_count = columns.LinkedCountColumn(
|
||||||
|
viewname='ipam:vlangroup_list',
|
||||||
|
url_params={'location': 'pk'},
|
||||||
|
verbose_name=_('VLAN Groups')
|
||||||
|
)
|
||||||
tags = columns.TagColumn(
|
tags = columns.TagColumn(
|
||||||
url_name='dcim:location_list'
|
url_name='dcim:location_list'
|
||||||
)
|
)
|
||||||
@ -157,8 +162,9 @@ class LocationTable(TenancyColumnsMixin, ContactsColumnMixin, NetBoxTable):
|
|||||||
model = Location
|
model = Location
|
||||||
fields = (
|
fields = (
|
||||||
'pk', 'id', 'name', 'site', 'status', 'facility', 'tenant', 'tenant_group', 'rack_count', 'device_count',
|
'pk', 'id', 'name', 'site', 'status', 'facility', 'tenant', 'tenant_group', 'rack_count', 'device_count',
|
||||||
'description', 'slug', 'contacts', 'tags', 'actions', 'created', 'last_updated',
|
'description', 'slug', 'contacts', 'tags', 'actions', 'created', 'last_updated', 'vlangroup_count',
|
||||||
)
|
)
|
||||||
default_columns = (
|
default_columns = (
|
||||||
'pk', 'name', 'site', 'status', 'facility', 'tenant', 'rack_count', 'device_count', 'description'
|
'pk', 'name', 'site', 'status', 'facility', 'tenant', 'rack_count', 'device_count', 'vlangroup_count',
|
||||||
|
'description'
|
||||||
)
|
)
|
||||||
|
@ -505,6 +505,7 @@ class SiteContactsView(ObjectContactsView):
|
|||||||
@register_model_view(Location, 'list', path='', detail=False)
|
@register_model_view(Location, 'list', path='', detail=False)
|
||||||
class LocationListView(generic.ObjectListView):
|
class LocationListView(generic.ObjectListView):
|
||||||
queryset = Location.objects.add_related_count(
|
queryset = Location.objects.add_related_count(
|
||||||
|
Location.objects.add_related_count(
|
||||||
Location.objects.add_related_count(
|
Location.objects.add_related_count(
|
||||||
Location.objects.all(),
|
Location.objects.all(),
|
||||||
Device,
|
Device,
|
||||||
@ -516,6 +517,11 @@ class LocationListView(generic.ObjectListView):
|
|||||||
'location',
|
'location',
|
||||||
'rack_count',
|
'rack_count',
|
||||||
cumulative=True
|
cumulative=True
|
||||||
|
),
|
||||||
|
VLANGroup,
|
||||||
|
'location',
|
||||||
|
'vlangroup_count',
|
||||||
|
cumulative=True
|
||||||
)
|
)
|
||||||
filterset = filtersets.LocationFilterSet
|
filterset = filtersets.LocationFilterSet
|
||||||
filterset_form = forms.LocationFilterForm
|
filterset_form = forms.LocationFilterForm
|
||||||
@ -528,6 +534,7 @@ class LocationView(GetRelatedModelsMixin, generic.ObjectView):
|
|||||||
|
|
||||||
def get_extra_context(self, request, instance):
|
def get_extra_context(self, request, instance):
|
||||||
locations = instance.get_descendants(include_self=True)
|
locations = instance.get_descendants(include_self=True)
|
||||||
|
location_content_type = ContentType.objects.get_for_model(instance)
|
||||||
return {
|
return {
|
||||||
'related_models': self.get_related_models(
|
'related_models': self.get_related_models(
|
||||||
request,
|
request,
|
||||||
@ -545,6 +552,8 @@ class LocationView(GetRelatedModelsMixin, generic.ObjectView):
|
|||||||
(Cluster.objects.restrict(request.user, 'view').filter(_location=instance), 'location_id'),
|
(Cluster.objects.restrict(request.user, 'view').filter(_location=instance), 'location_id'),
|
||||||
(Prefix.objects.restrict(request.user, 'view').filter(_location=instance), 'location_id'),
|
(Prefix.objects.restrict(request.user, 'view').filter(_location=instance), 'location_id'),
|
||||||
(WirelessLAN.objects.restrict(request.user, 'view').filter(_location=instance), 'location_id'),
|
(WirelessLAN.objects.restrict(request.user, 'view').filter(_location=instance), 'location_id'),
|
||||||
|
(VLANGroup.objects.restrict(request.user, 'view').filter(
|
||||||
|
scope_type_id=location_content_type.id, scope_id=instance.id), 'location'),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user